以下代码在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
上返回E_FAIL
虽然创建CResourceStream
正确地从资源中读取JPEG文件。
调试给出以下结果:
GdipCreateBitmapFromStream
返回InvalidParameter
。
问题是什么?
JPEG是资源文件中的自定义类别。
答案 0 :(得分:0)
我相信你应该使用“JPG”而不是“JPEG”。
答案 1 :(得分:0)
最后我使用了codeproject中的这个解决方案:
http://www.codeproject.com/KB/GDI-plus/cgdiplusbitmap.aspx
它是GDI +的一个薄包装器,能够在Windows 7下完美地加载JPEG文件(和其他文件)。