MFC读取并显示bmp图像出问题了,谁来解决下?

2024-12-05 17:29:53
推荐回答(1个)
回答1:

  1. BMP位图的色值顺序是弯弊镇RGB,你的读取顺序是BGR,颜色反了

  2. 网上读取BMP的代码非常多,为什么不参考?MFC可以使用标准的BITMAPFILEHEADER和BITMAPINFOHEADER读取文件头,比你这样做效率和适应程度好的多

  3. SetPixel是最耗时的显示方法,效率很低。BMP文件的读取,即使不使用GDI+、CImage做卜孙,也可埋粗以自己构建HBITMAP或者CBitmap,这样直接BitBlt就可以显示了,也不影响你后续获取指针进行CMYK的转换,你这样一点一点读取文件不可取,不建议在这个代码上继续完善。