2017-06-01 91 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