Загрузка файла JPEG из ресурсов в приложении MFC C ++ - PullRequest
1 голос
/ 30 сентября 2010

Следующий код работает правильно под 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 - это пользовательская категория в файле ресурсов.

Ответы [ 2 ]

0 голосов
/ 01 октября 2010

В конце я использовал это решение из codeproject:

http://www.codeproject.com/KB/GDI-plus/cgdiplusbitmap.aspx

Это тонкая оболочка для GDI +, которая может отлично загружать файлы JPEG (и другие) под Windows 7.

0 голосов
/ 30 сентября 2010

Я считаю, что вы должны использовать «JPG», а не «JPEG».

...