2017-06-01 3 views
-1

Je suis nouveau à FreeImage. Je veux juste lire une image JPEG et l'afficher dans ma boîte de dialogue MFC. Comment je fais ça? J'essaie cela en utilisant ImageStone en faisant:Comment lire jpg en utilisant FreeImage

img.Load(blob.data, size, IMG_JPG); 
img.Draw(hdc, DC); 

Maintenant, comment faire la même chose en utilisant FreeImage?

+0

Puisque vous utilisez MFC, pourquoi ne pas aller avec [CImage] (https://msdn.microsoft.com/en-us/library/bwea7by5.aspx) au lieu? Pas besoin d'attirer une autre dépendance. – IInspectable

+0

Je ne le savais pas - Est-il disponible dans VS2013? – Makoto

+0

[Oui] (https://msdn.microsoft.com/fr-fr/library/bwea7by5 (v = vs.120) .aspx). – IInspectable

Répondre

0

J'ai essayé et cela a fonctionné exactement comme vous l'avez décrit .... J'ai utilisé SHCreateMemStream et ai alimenté le flux vers la méthode LOAD surchargée. Tout a fonctionné parfaitement.

Merci beaucoup, Makoto

CImage im; 
IStream* is = SHCreateMemStream(Blob.pData, nSize); 
HRESULT hr = im.Load(is); 
RECT rect = { 0, 0, 500, 500 }; 
BOOL b = im.Draw(hdc, rect); 
+0

L'espace de réponse devrait juste être pour une solution. Vous pouvez éditer votre réponse pour montrer ce que vous avez explicitement fait. – quantik

+0

Cela ne répond pas à la question (* "Comment lire jpg en utilisant FreeImage" *). Bien que ce soit la solution * que vous * cherchiez, ce n'est pas une solution en général. Si vous voulez persister cette réponse, posez une nouvelle question sur votre problème ** réel ** (* "Comment lire les données jpg d'une application MFC" *), et répondez-y. En outre, le code fuit un objet 'IStream'. – IInspectable