MFC:从CImage保存到数据库作为选定的文件类型

时间:2010-06-30 13:43:07

标签: c++ mfc winapi image-processing

我们要求用户可以将任何标准图像加载到对话框中,显示图像,并将图像作为特定格式(JPG)保存在数据库中。似乎CImage是要使用的类,因为它可以加载和保存BMP / GIF / JPG / PNG。但有没有一种简单的方法可以将JPG作为BLOB保存在数据库中而无需调用CImage :: Save然后将文件加载到内存中 - 我们甚至不想暂时保存文件。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

CImage::Save有两个重载。你可以用

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

将图像保存为IStream。您可以编写自己的简单IStream实现,也可以尝试使用CreateStreamOnHGlobal函数,该函数会在IStream上创建HGLOBAL对象。