从数据库中以 blob 数据类型形式存储的原始图像数据中检索 CImage 对象

Retrieve CImage Object from raw image data stored in database as blob data type

本文关键字:图像 原始 数据 CImage 对象 检索 数据库 blob 数据类型 存储      更新时间:2023-10-16

我正在开发一个应用程序,其中.png图像存储到数据库(使用SQLite3),现在根据我的要求,我希望图像与ListCtrl项目一起显示,所以我需要的是从数据库中检索到的blob数据创建一个CImage object。我目前的方法是每次我想显示图片时,我都必须将文件写入磁盘,然后将其提取到 listCtrl 项目图像中,我想摆脱这个开销过程。所有的专家都需要您的帮助。请指出我正确的方向。我正在使用VS2010MFC进行应用程序开发,数据库使用SQLITE-3。提前谢谢。

将 PNG 复制到内存块 (HGLOBAL) 中。使用 CreateStreamOnHGlobal 获取 IStream。然后使用 CImage::Load 将其放入 CImage 对象中。

根本不需要使用磁盘文件。