2009-12-26 6 views
3

Je veux charger un fichier jpg. J'ai essayé d'utiliser la fonction LoadImage mais elle renvoie NULL si mon image n'est pas bmp. Que puis-je faire? Voici mon code:Charger le fichier jpg dans winapi

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

Répondre

3

Vous pouvez jeter un oeil à WIC.

Windows Imaging Component (WIC) API permet aux applications de fonctionner avec tous les formats d'image courants. Il permet aux développeurs de ne pas avoir à comprendre les détails complexes des formats d'image avec lesquels ils travaillent. WIC offre un support intégré pour les formats populaires tels que JPEG, PNG, TIFF et GIF, ainsi qu'un modèle d'extensibilité permettant aux développeurs de créer leur propre décodeur et encodeur WIC (CODEC) et de prendre en charge leur format d'image. WIC est disponible sur Windows XP (SP2 et supérieur), Windows Vista, Windows Server et Windows 7.

+0

L'API WIC est outrageusement complexe, opaque et tordu. Un grand chef d'oeuvre de Microsoft ... Je me demande si certaines personnes utilisent vraiment ça ... – dest1

3

Utilisez GDI +, il dispose d'un décodeur JPEG. Commencer cette boule aveC#include <gdiplus.h> et un small tutorial pour savoir comment utiliser la classe Image et GdiplusStartup correctement.

1

Si vous voulez vraiment soutenir vieux trucs (Win9x etc,) IPicture/OleLoadPicture est votre meilleur pari

Questions connexes