3

我正在使用 MySQL++ API 从 MySQL 数据库中提取图像。我将图像作为 mysqlpp::sql_mediumblob 获取,它是字符串的表示形式。现在我想使用 GDI+ 旋转一些图片,但我不知道如何使用这个构造函数:

Image::Image(IStream*,BOOL) - Creates an Image object based on a stream.

与保存在 blob 中的图像。提前致谢。

4

1 回答 1

1

如此处所述:http: //msdn.microsoft.com/en-us/library/aa378980 (VS.85).aspx

HGLOBAL hMem = ::GlobalAlloc(GMEM_MOVEABLE,iSize);
if (!hMem)
    AfxThrowMemoryException();
LPVOID pImage = ::GlobalLock(hMem);
... // Fill memory pointed by pImage, reading it from MySQL
::GlobalUnlock(hMem);

// Convert internal data if there is any
CComPtr<IStream> spStream;
HRESULT hr = ::CreateStreamOnHGlobal(hMem,FALSE,&spStream);

然后将 spStream 传递给 Gdiplus::Image 构造函数。

于 2009-03-18T15:19:06.750 回答