gdiplus construct Изображение из строки - PullRequest
3 голосов
/ 17 марта 2009

Я извлекаю изображения из базы данных MySQL, используя MySQL ++ API. Я получаю изображения как mysqlpp :: sql_mediumblob, который является представлением строки. Теперь я хочу повернуть несколько изображений с помощью GDI +, но я не уверен, как использовать этот конструктор:

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

с изображением, которое хранится в BLOB-объекте. Заранее спасибо.

1 Ответ

1 голос
/ 18 марта 2009

Как отмечено здесь: 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.

...