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