Image 如何将字节*转换为gdi+;图像对象?

Image 如何将字节*转换为gdi+;图像对象?,image,gdi+,byte,istream,Image,Gdi+,Byte,Istream,我想将字节*转换为gdi+图像对象。 我怎样才能做到这一点 字节*似乎是一个Dib点。 我发现Image有一个名为Image::FromStream()的方法,这可能会有所帮助, 但我找不到任何关于如何将字节*转换为IStream对象的参考资料。 我该怎么做? 提前谢谢 P>实际上,很难相信MS提供了一个ISTRAIM接口,但是不提供任何C++接口来实现接口。>/P>> P>你知道图像数据格式字节指针点吗?为了使图像能够从流中构造自身,数据必须是支持的标准图像格式之一(GIF、PNG、JPE

我想将字节*转换为gdi+图像对象。 我怎样才能做到这一点 字节*似乎是一个Dib点。 我发现Image有一个名为Image::FromStream()的方法,这可能会有所帮助, 但我找不到任何关于如何将字节*转换为IStream对象的参考资料。 我该怎么做? 提前谢谢


<> P><强>实际上,很难相信MS提供了一个ISTRAIM接口,但是不提供任何C++接口来实现接口。>/P>> P>你知道图像数据格式<代码>字节<代码>指针点吗?为了使图像能够从流中构造自身,数据必须是支持的标准图像格式之一(GIF、PNG、JPEG等)

如果没有合适的“内存流”或类似的接口,该接口看起来足够简单,可以自己实现。

将使用HGLOBAL并为您提供一个IStream指针。您需要使用GlobalAlloc分配足够的内存,然后将字节数组复制到HGLOBAL中


如果你知道你得到的图像数据是GDI DIB,你可以使用或相应的位图::位图构造函数。

你使用的是什么语言?这个线程解决了这个问题,请尝试以下方法:[how-do-i-load-and-save-an-image-from-an-sql-server-database-using-GDI][1]:非常感谢Roge,我成功地打开了图像,我发现我错了字节不是Dib而是JPG格式的普通二进制图像文件流。我直接用FreeImage打开了它。谢谢