我已将图像读入带有LPPICTURE
的{{1}}并将其显示在窗口中,但我真正需要做的是将图像转换为像素矩阵,我可以操作它保存回图像文件。
使用OleLoadPictre
,我几乎可以读取所有主要图像格式。如果我可以访问单个像素,我可以循环遍历并全部提取它们。
在其他相关问题中,人们建议使用像OpenCV这样庞大的图书馆和其他高度发展的图书馆,这些图书馆可以在阳光下做任何事情,但我更愿意让我的解决方案尽可能轻松。我已经为我的像素编写了一个基本结构,我很乐意自己进行操作。
我一直在使用Magic ++查看ImageMagic库。这似乎相当不错,但如果有一个解决方案只是使用Windows API来提取像素并将图像保存回任意图像格式,那么这将是我认为最好/最轻的。
答案 0 :(得分:0)
OleLoadPicture
为您提供IPicture
的实例。使用IPicture::get_Handle
获取HBITMAP
实例所持有的IPicture
。最后,使用GetDIBits
获取像素数据。
有here的示例代码。将其从MFC转换为普通的WinAPI应该可以获得像素数据。