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

来源:互联网 发布:手机淘宝怎么登录不了 编辑:程序博客网 时间:2024/05/22 10:23

基本上,只有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的倍数,不然会失败