繁体   English   中英

从MFC C ++应用程序中的资源加载JPEG文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM