将内存中的图片数据显示到Picture图片控件上
来源:互联网 发布:多管升级数据 编辑:程序博客网 时间:2024/05/18 23:16
pContentBuffer指向一块内存数据(图片);dataLen为内存中图片数据的大小。函数功能是将内存中的图片数据加载到Picture控件上显示出来。
CImage img;BOOL bRet = LoadMemImage(pContentBuffer, dataLen, img);CStatic *pStaticPic = (CStatic *)GetDlgItem(IDC_PIC);if (bRet && pStaticPic){HBITMAP retBitmap = pStaticPic->SetBitmap(img.Detach());}
主要函数LoadMemImage(pContentBuffer, dataLen, img)的实现过程如下:其功能是将内存中的图片数据加载到CImage对象中。
BOOL LoadMemImage(void *pMemData, ULONG nLen, CImage& imgObj){BOOL bRet = FALSE;/*GlobalAlloc申请的内存分两种,一种是GMEM_FIXED(固定内存块),另一种是GMEM_MOVEABLE(可移动的内存块)。两者的差别只在于,对于GMEM_MOVEABLE类型的内存块,操作系统是可以移动的,比如堆中有好几块小内存,当再申请一大块内存时,操作系统会移动GMEM_MOVEABLE类型的内存来合并出一大块。*/HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, nLen);void *pData = GlobalLock(hGlobal);//将内存块的句柄转换为一个指针memcpy(pData, pMemData, nLen);GlobalUnlock(hGlobal);//解锁先前被锁定的内存IStream *pStream = NULL;/*CreateStreamOnHGlobal():函数从指定内存创建流对象。第二个参数指明上一个参数指定的内存在该对象被释放后是否也自动释放。如果该参数设定为FALSE,那么调用者必须显式的释放hGlobal。如果该参数设置为TRUE,则hGlobal最终会自动释放。*/if(CreateStreamOnHGlobal(hGlobal, TRUE, &pStream) == S_OK) {if (SUCCEEDED(imgObj.Load(pStream))) bRet = TRUE;pStream->Release();}GlobalFree(hGlobal);//释放内存块return bRet;}
CImage类的Load()函数有两种加载方式:
HRESULT Load( LPCTSTR pszFileName ) throw( );HRESULT Load( IStream* pStream) throw();
第一种方式:通过文件名来加载,在之前的博客中实现过,连接地址如下:通过文件名来加载
0 0
- 将内存中的图片数据显示到Picture图片控件上
- MFC利用CImage类将图片显示到Picture控件上
- MFC中将图片显示到picture控件上
- OpenCV中Mat、IplImage格式的图片,显示到MFC中的picture控件上
- opencv mfc 显示图片到picture控件
- OPENCV如何把图片显示到MFC的picture控件上
- 用PictureEx类实现内存图片数据直接显示于picture控件
- 用CImage在picture控件上显示外部图片,并获取各像素颜色数据
- MFC中 利用OpenCv显示图片到Picture Control控件
- MFC 对话框中的picture control 控件显示图片
- 在Picture Control控件上显示JPG图片并让图片适应控件的大小
- 将图片显示在一个控件上
- VS2013 MFC 直接将 OpenCV2.0/3.0 库中的 Mat 结构的图像传递到 Picture Control(图片控件)
- 将网上图片显示到 View 上
- 使用picture控件动态显示图片方法
- MFC picture控件中显示图片
- MFC picture控件显示图片(新手)
- mfc picture控件显示png图片
- 单例模式Java实现
- Maximum Product UVA
- java实现排序(5)-归并排序
- JavaWeb中浏览器URL编码,GET乱码问题方式乱码解决
- 数据库-游标
- 将内存中的图片数据显示到Picture图片控件上
- FMDB , sqlite 查询语句
- 欢迎使用CSDN-markdown编辑器
- native2ascii 用法
- Java多线程干货系列
- PDF在线预览
- 苏嵌PCB部分
- 软件测试产物命名规范化
- Storm UI界面参数详说明