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

标签 c++ mfc winapi image-processing

我们有一个要求,即用户可以将任何标准图像加载到对话框中,显示图像,并将图像以特定格式 (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/

相关文章:

c++ - 链接器无法链接我的应用程序(XXXX 已在 XXXX.obj 中定义)

c++ - EvtSubscribe 拉与推模型

winapi - DirextX9 Material 不再是用于学习Win32 API编程的 Material 吗?

c++ - 如何检测悬停在静态 Win32 控件上?

c++ - 模板元编程 : multiplying a bunch of template arguments

由 2 个文件共享的 C++ 变量

c++ - GetComputerNameW 导致 Windows 10 中的缓冲区溢出

windows - 创建生成 DLL 的应用程序

c++ - 如何使用 WTL 获取编辑控件的内容?

c++ - 如何使 clang-format 11 在可变参数模板声明后放置一个空格