MFC: сохранить из CImage в базу данных как выбранный тип файла - PullRequest
0 голосов
/ 30 июня 2010

У нас есть требование, чтобы пользователь мог загружать любое стандартное изображение в диалог, отображать изображение и сохранять изображение в формате определенного формата (JPG) в базе данных.Кажется, CImage - это класс, который нужно использовать, поскольку он может загружать и сохранять BMP / GIF / JPG / PNG.Но есть ли простой способ сохранить JPG как BLOB в базе данных без вызова CImage :: Save, а затем загрузить файл в память - мы не хотим сохранять файл даже временно.

Любые идеи

1 Ответ

2 голосов
/ 30 июня 2010

CImage::Save имеет две перегрузки.Вы можете использовать

HRESULT Save(
   IStream* pStream,
   REFGUID guidFileType
) const throw();

, чтобы сохранить изображение в IStream.Вы можете написать собственную простую реализацию IStream или попытаться использовать функцию CreateStreamOnHGlobal, которая создает объект IStream на HGLOBAL.

...