Я хочу загрузить файл jpg. Я пытался использовать функцию LoadImage, но она возвращает NULL, если мое изображение не bmp. Что я могу сделать? Вот мой код:
LoadImage
NULL
hBitmap =(HBITMAP)LoadImage(0, L"D:\\1.jpg", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE).
Вы можете взглянуть на WIC.
API Windows Imaging Component (WIC) позволяет приложениям работать со всеми распространенными форматами изображений. Это позволяет разработчикам не понимать сложные детали форматов изображений, с которыми они работают. WIC имеет встроенную поддержку популярных форматов, таких как JPEG, PNG, TIFF и GIF, а также модель расширяемости, так что разработчики могут создавать свои собственные WIC-декодер и кодер (CODEC) и получать поддержку на уровне платформы для своего формата изображения. WIC доступен в Windows XP (SP2 и выше), Windows Vista, Windows Server и Windows 7.
Используйте GDI +, он имеет декодер JPEG. Запустите этот шарик с помощью #include <gdiplus.h> и небольшого учебника , чтобы узнать, как правильно использовать класс Image и GdiplusStartup.
<gdiplus.h>
Если вы хотите поддерживать действительно старые вещи (Win9x и т. Д.), IPicture / OleLoadPicture - ваша лучшая ставка