MFC(三)显示图片
来源:互联网 发布:网络成瘾临床诊断标准 编辑:程序博客网 时间:2024/04/29 08:13
1.在MFC控件中选择静态文本控件,放在合适位置。
2.在静态文本控件右键,选择属性。
3.在属性中:
1)设置ID为IDC_STATIC_VIDEO;标题:显示;勾选:可见、组。
2)设置样式:排列文本为居中。
4.添加代码
1)图片显示
需:
1)提前定义 CDC *pDC;
2)在 BOOL CVPlayDlg::OnInitDialog()添加代码:
// TODO: Add extra initialization here
pDC = GetDlgItem(IDC_STATIC_VIDEO)->GetDC();
3)
//本地图片显示bool CVPlayDlg::ShowJpg(CDC *pDC, CString strPath, int nJpecDataSize, int x, int y){IStream *pStm; CFileStatus fstatus; ULONGLONG cb; CFile file; // 打开文件并检测文件的有效性 if (!file.Open(strPath,CFile::modeRead)) { return FALSE; } if (!file.GetStatus(strPath,fstatus)) { return FALSE; } if ((cb =fstatus.m_size)<=0) { return FALSE; } // 根据文件大小分配内存空间,记得释放内存 HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, (unsigned int)cb); if (hGlobal== NULL) { GlobalFree(hGlobal) ; return FALSE; } // 锁定刚才分配的内存空间 LPVOID pvData = NULL; pvData = GlobalLock(hGlobal); if (pvData == NULL) { GlobalFree(hGlobal); // 记得释放内存 return FALSE; } // 将文件放到流中 file.Read(pvData,(unsigned int)cb); GlobalUnlock(hGlobal); CreateStreamOnHGlobal(hGlobal, TRUE, &pStm); // 从流中加载图片 //显示JPEG和GIF格式的图片,GIF只能显示一帧,还不能显示动画, //要显示动画GIF请使用ACTIVE控//件。 IPicture *pPic; //load image from file stream //bool result=OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic);if(SUCCEEDED(OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic))) { OLE_XSIZE_HIMETRIC hmWidth; OLE_YSIZE_HIMETRIC hmHeight; pPic->get_Width(&hmWidth); pPic->get_Height(&hmHeight); double fX,fY; //get image height and width fX = (double)pDC->GetDeviceCaps(HORZRES)*(double)hmWidth/((double)pDC->GetDeviceCaps(HORZSIZE)*100.0); fY = (double)pDC->GetDeviceCaps(VERTRES)*(double)hmHeight/((double)pDC->GetDeviceCaps(VERTSIZE)*100.0); //use render function display image if(FAILED(pPic->Render(*pDC,x,y,(DWORD)fX,(DWORD)fY,0,hmHeight,hmWidth,-hmHeight,NULL))) { pPic->Release(); GlobalFree(hGlobal); return false; } pPic->Release(); GlobalFree(hGlobal) ;} else{GlobalFree(hGlobal); return false; } return true; }
4)
0 0
- MFC(三)显示图片
- OpenCV学习笔记之 ( 三 ) MFC显示Mat图片
- MFC显示图片
- MFC对话框显示图片
- mfc窗口显示图片
- MFC显示jpg图片
- MFC显示灰度图片
- MFC动态显示图片
- MFC对话框显示图片
- MFC显示JPG图片
- 【c++】MFC显示图片
- MFC 显示bmp图片
- mfc显示图片
- MFC对话框显示图片
- MFC+opencv显示图片
- MFC显示JPG图片
- MFC显示Mat图片
- MFC显示图片
- 基于FPGA的三相SPWM的设计及其优化
- 深入理解计算机系统--->计算机硬件系统
- 内存一致性中的release consistency
- java正则表达式
- 可变参数[JDK 5新特性]
- MFC(三)显示图片
- 在oracle中删除sde导入的shp数据。
- Unix & Linux笔记(7)
- DDOS攻击原理及防护方法论
- Android NDK
- 白话面向智能体编程(Agent Oriented Programmig, AOP)之四
- Java transient关键字
- avalon学习笔记(1) avalon+oniui+ajax实现smartgrid的无刷新分页
- Scroller的fling方法详解