[英]Loading JPEG file from resources in MFC C++ application
以下代码在Windows XP下可以正常工作:
CImage image;
RECT destRect;
int nResource = 10;
CResourceStream stream(0, MAKEINTRESOURCE(nResource), _T("JPEG"));
HRESULT hr = image.Load(&stream);
image.Draw(hDC, destRect);
但是在Windows 7 image.Load
尽管创建CResourceStream
会从资源正确读取JPEG文件,但返回E_FAIL
。
调试得到以下结果:
GdipCreateBitmapFromStream
返回InvalidParameter
。
可能是什么问题?
JPEG是资源文件中的自定义类别。
我相信您应该使用“ JPG”而不是“ JPEG”。
最后,我使用了来自codeproject的解决方案:
http://www.codeproject.com/KB/GDI-plus/cgdiplusbitmap.aspx
它是GDI +的精简包装,能够在Windows 7下完美加载JPEG文件(和其他文件)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.