2017-06-01 46 views
-1

我是FreeImage的新手。我只想讀取JPEG圖像並將其顯示在我的MFC對話框中。我怎麼做?我嘗試使用ImageStone做:如何使用FreeImage讀取jpg

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

現在,我該如何使用FreeImage做同樣的事情?

+0

由於您使用MFC,爲什麼不[的CImage(https://msdn.microsoft.com/en-us/library/bwea7by5.aspx去)而不是?無需拉入另一個依賴項。 – IInspectable

+0

我不知道 - 它在VS2013中可用嗎? – Makoto

+0

[是](https://msdn.microsoft.com/en-us/library/bwea7by5(v = vs.120).aspx)。 – IInspectable

回答

0

我試過了,它的工作方式與您所描述的完全一樣....我使用了SHCreateMemStream並將流傳給了重載的CImage的LOAD方法。一切都很完美。

太感謝你了, 誠

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

答案空間應該是解決方案。你可以編輯你的答案,以顯示你明確做了什麼。 – quantik

+0

這不回答問題(*「如何使用FreeImage讀取JPG」*)。雖然這是您尋找的解決方案,但它通常不是解決方案。如果你想堅持這個答案,你應該問一個新問題,詢問你的**真實**問題(*「如何從MFC應用程序讀取jpg數據」*),並回答這個問題。此外,代碼泄露了一個'IStream'對象。 – IInspectable