我们要求用户可以将任何标准图像加载到对话框中,显示图像,并将图像作为特定格式(JPG)保存在数据库中。似乎CImage是要使用的类,因为它可以加载和保存BMP / GIF / JPG / PNG。但有没有一种简单的方法可以将JPG作为BLOB保存在数据库中而无需调用CImage :: Save然后将文件加载到内存中 - 我们甚至不想暂时保存文件。
有什么想法吗?
答案 0 :(得分:2)
CImage::Save
有两个重载。你可以用
HRESULT Save(
IStream* pStream,
REFGUID guidFileType
) const throw();
将图像保存为IStream
。您可以编写自己的简单IStream
实现,也可以尝试使用CreateStreamOnHGlobal
函数,该函数会在IStream
上创建HGLOBAL
对象。