基本上,只有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 库加载图像并将其转换为灰度图像的方法。通过 GetBits 函数高效地获取图像的像素数据,并实现了图像宽度和高度的获取。文中还提供了具体的实现代码。
4163

被折叠的 条评论
为什么被折叠?



