cximage 研究之 --- 读取像素内容

基本上,只有2个函数可行:

GetPixel(x,y)

GetBits()

GetPixel 就算了,要频繁访问堆栈,对于获取完整图形像素来说,太愚蠢

GetBits 是首选了,下面是代码

CxImage  mm;
BYTE * pDib;
int BytesPerLine ;
if (!mm.Load(".\\qrpix_tst_l.jpg",FORMAT_JPG))
{
AfxMessageBox("文件打开失败");
return ;
}
mm.GrayScale();
if (!mm.IsGrayScale())
mm.GrayScale();

w = mm.GetWidth();
h= mm.GetHeight();

pDib = mm.GetBits();
BytesPerLine =  (w + 3) / 4 * 4; // 只对8位图像


获取的像素,可以直接调用 cximage 的 CreateFromArray 恢复成图片,不过注意,第5个参数,扫描长度,一定要换算成4的倍数,不然会失败

你可能感兴趣的:(CxImage)