我正在执行dcraw并使用匿名管道将其传递给char数组。
我的问题是如何从包含jpeg图像的char数组创建Gdiplus::Image
对象?无需从磁盘写入和读取它。
答案 0 :(得分:3)
您可以从Gdiplus::Bitmap
来源创建IStream
。有内置的Windows API可以为您执行此操作 - 请参阅CreateStreamOnHGlobal。另一种方法是编写自己的类来实现IStream
。
Here is an example使用CreateStreamOnHGlobal
从内存中加载PNG资源。
答案 1 :(得分:0)
CByteArray byteArr;
//fullfill byteArr
COleStreamFile stream;
if(!stream.CreateMemoryStream(NULL))
{
return;
}
stream.Write(byteArr.GetData(), byteArr.GetSize());
stream.SeekToBegin();
m_pSnapShot.reset(::new Gdiplus::Image(stream.GetStream( )));