我们有一个要求,即用户可以将任何标准图像加载到对话框中,显示图像,并将图像以特定格式 (JPG) 保存在数据库中。似乎 CImage 是要使用的类,因为它可以加载和保存 BMP/GIF/JPG/PNG。但是有没有一种简单的方法可以在不调用 CImage::Save 然后将文件加载到内存的情况下将 JPG 保存为数据库中的 BLOB - 我们甚至不想临时保存文件。
有什么想法吗?
最佳答案
CImage::Save
有两个重载。你可以使用
HRESULT Save(
IStream* pStream,
REFGUID guidFileType
) const throw();
将图像保存到 IStream
。您可以编写自己的简单 IStream
实现,也可以尝试使用 CreateStreamOnHGlobal
函数,该函数在 HGLOBAL< 上创建一个
.IStream
对象
关于c++ - MFC:从 CImage 保存到数据库作为选定的文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3149816/