我正在开发一个应用程序,其中我将 .png
图像存储到数据库(使用 SQLite3),现在根据我的要求,我希望图像与 ListCtrl 项目一起显示,那又怎样我需要的是根据从数据库中检索到的 blob 数据创建一个 CImage 对象
。我目前的做法是,每次我想显示图片时,我都必须将文件写入磁盘,然后将其提取到 listCtrl 项目图像中,我想摆脱这个开销过程。所有的专家都需要你的帮助。请指出正确的方向。我正在使用 VS2010
和 MFC
进行应用程序开发,数据库使用 SQLITE-3
。
提前致谢。
最佳答案
将 PNG 复制到内存块 (HGLOBAL) 中。 使用 CreateStreamOnHGlobal 获取 IStream。 比使用 CImage::Load 将其放入 CImage 对象中。
根本不需要使用磁盘文件。
关于c++ - 从以 blob 数据类型存储在数据库中的原始图像数据中检索 CImage 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20674985/