2

我正在执行 dcraw 并使用匿名管道将其通过管道传输到 char 数组。

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

4

2 回答 2

3

Gdiplus::Bitmap您可以从IStream源创建一个。有内置的 Windows API 可以为您执行此操作 - 请参阅CreateStreamOnHGlobal。另一种方法是编写自己的类来实现IStream.

这是一个用于从内存中CreateStreamOnHGlobal加载 PNG 资源的示例。

于 2012-07-25T20:45:32.547 回答
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( )));
于 2016-09-05T16:26:49.223 回答