Gdiplus ::来自字节数组的图像

时间:2012-07-25 20:42:22

标签: c++ windows gdi+

我正在执行dcraw并使用匿名管道将其传递给char数组。

我的问题是如何从包含jpeg图像的char数组创建Gdiplus::Image对象?无需从磁盘写入和读取它。

2 个答案:

答案 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( )));