MFC中JPG图片显示
来源:互联网 发布:成都青年旅舍 知乎 编辑:程序博客网 时间:2024/06/11 22:39
介绍:
由于项目需要,在MFC窗口中显示一张JPG图片。然而由于图片过大,使得很多方法都无法完整显示图片。查了很多方法,最终使用CImage的图片显示,比较简单。
Cimage类显示jpg图片
CDC* pDC = m_picture.GetDC(); CRect zcRect; m_picture.GetClientRect(&zcRect); CImage img; img.Load(filename); img.Draw(m_picture.GetDC()->m_hDC,zcRect.left,zcRect.top,zcRect.Width(),zcRect.Height());
在这里的m_picture是一个静态文本框指针。图片显示在该静态文本框中。filename为图片的文件路径。
最终显示的效果对图片可能有拉伸的效果,由于不是等比例缩放。但总的来说还是不错的,相比于其他的很多方法简单了不少。最终结果如下
使用BUTTON控件进行图片显示
参考:http://blog.csdn.net/ixzf2009/article/details/6564456
其中主要思想是参考这里,由于实际中需要对显示jpg图片,因此对其中的CBUTTONPIC类进行部分修改,主要如下:
1.修改load图片的方式,使得能够直接从文件中载入图片
2.修改load图片的格式,使得能够支持jpg图片的载入。
主要如下:
1.修改资源类型,将UINT修改为CString,用来存放图片文件路径。
2.添加LoadJpg函数,用来载入jpg图片。
void CButtonPic::LoadJpg(CBitmap &mBitmap,CString path){ CImage pic; pic.Load(path); CDC *pDC = GetDC(); CDC memDC; memDC.CreateCompatibleDC(pDC);mBitmap.CreateCompatibleBitmap(pDC,pic.GetWidth(),pic.GetHeight()); CBitmap *OldBitmap =memDC.SelectObject(&mBitmap); pic.Draw(memDC.m_hDC,0,0); memDC.SelectObject(OldBitmap); DeleteDC(memDC); OldBitmap = NULL;}结果如下
修改过的已经上传资源
http://download.csdn.net/detail/u010327085/8916409
0 0
- MFC中JPG图片显示
- MFC对话框中显示BMP,JPG图片
- MFC显示jpg图片
- MFC显示JPG图片
- MFC显示JPG图片
- MFC读取jpg图片显示
- MFC种显示jpg图片
- MFC显示JPG、JIF图片
- MFC显示jpg图片到控件
- 在MFC中显示Jpg格式图片的简单实现方法
- MFC在picture control中JPG/BMP/ICO等格式图片显示,并支持清除图片显示
- VC++ Picture Control中显示jpg图片
- VC++ Picture Control中显示jpg图片
- 在对话框中显示jpg图片
- 在控件中显示JPG图片
- MFC中显示图片
- MFC加载JPG图片
- MFC 加载jpg图片
- 开源项目地址记录
- C# readonly与const的区别
- AngularJS的更高一步见解
- 关于UITableViewCell的复用
- 借助百度api通过经纬度查询位置信息
- MFC中JPG图片显示
- 【计蒜客系列】挑战难题11:移除数组中重复元素
- Linux and Windows snprintf区别
- alloc new copy以外的对象如何释放
- Java中StringBuffer类
- 数组全排列
- E: Sub-process /usr/bin/dpkg returned an error code (1) 解决方案
- 帧布局
- 远程推送