Загрузить файл jpg в winapi - PullRequest
3 голосов
/ 26 декабря 2009

Я хочу загрузить файл jpg. Я пытался использовать функцию LoadImage, но она возвращает NULL, если мое изображение не bmp. Что я могу сделать? Вот мой код:

hBitmap =(HBITMAP)LoadImage(0, L"D:\\1.jpg", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE).

Ответы [ 3 ]

4 голосов
/ 26 декабря 2009

Вы можете взглянуть на WIC.

API Windows Imaging Component (WIC) позволяет приложениям работать со всеми распространенными форматами изображений. Это позволяет разработчикам не понимать сложные детали форматов изображений, с которыми они работают. WIC имеет встроенную поддержку популярных форматов, таких как JPEG, PNG, TIFF и GIF, а также модель расширяемости, так что разработчики могут создавать свои собственные WIC-декодер и кодер (CODEC) и получать поддержку на уровне платформы для своего формата изображения. WIC доступен в Windows XP (SP2 и выше), Windows Vista, Windows Server и Windows 7.

3 голосов
/ 26 декабря 2009

Используйте GDI +, он имеет декодер JPEG. Запустите этот шарик с помощью #include <gdiplus.h> и небольшого учебника , чтобы узнать, как правильно использовать класс Image и GdiplusStartup.

1 голос
/ 26 декабря 2009

Если вы хотите поддерживать действительно старые вещи (Win9x и т. Д.), IPicture / OleLoadPicture - ваша лучшая ставка

...