CImage 往Picture Control贴图 图像显示不正常
在使用CImage 往vc控件 picture Control 上贴图的时候图像显示不太正常如图:

已知原始图片的宽高为640*640 而我上面picture Control 控件宽高小于原始图像宽高。
从网上找到原因是因为: 图像被缩小显示了。DRAW默认的压缩算法显示后就是这样!
在 CImage::Draw 前面加这2句就能正常显示图片了
//设置缩放模式 halftone代表最高的压缩画质
SetStretchBltMode(pDC->m_hDC,HALFTONE);
SetBrushOrgEx(pDC->m_hDC,,,NULL); //如果不想使用SetBrushOrgEx,前面只加一句
//COLORONCOLOR:删除像素。该模式删除所有消除的像素行,不保留其信息
SetStretchBltMode(pDC->m_hDC,COLORONCOLOR);
代码修改后:
SetStretchBltMode(pDC->m_hDC, HALFTONE);
SetBrushOrgEx(pDC->m_hDC, , , NULL); image.Draw(pDC->m_hDC, rect); //将图片画到Picture控件表示的矩形区域
效果图就正常了:

==========================================================================
参考:http://bbs.csdn.net/topics/390393574
CImage 往Picture Control贴图 图像显示不正常的更多相关文章
- picture control控件
注意:picture control控件,需要先更改其ID再使用. CImage myImage; CFileDialog fileDlg(TRUE,NULL,NULL,OFN_ALLOWMULTIS ...
- OpenCV 通过 MFC 的 Picture Control 控件操作图像
假设希望对显示在MFC Picture Control 控件里的图像进行操作,比方画线画点之类的,能够利用 OpenCV 结合 MFC 本身的鼠标响应函数来实现. 怎样将图像显示到 Picture C ...
- 对话框上动态控件的创建、在Picture Control控件上显示图片
1 MFC对话框之上的动态控件的创建 对话框上的控件是MFC类的一个具体对象. 当在对话框之上使用静态控件时,可以根据类向导来为每个控件添加消息.响应函数以及变量. 当需要在对话框中动态的创建某个控 ...
- C++MFC之picture control控件铺满图片
UpdateData(true); //更新路径公共变量 CString m_path = m_edit1.GetString(); if(m_path=="") ...
- 利用MFC Picture Control控件 加载bmp,png
1.在资源视图,选择PictureControl,并且在属性中把Type设置为Bitmap. 2.加载PNG CStatic* pWnd = (CStatic*)GetDlgItem(IDC_PIC) ...
- MFC 的 Picture Control 加载 BMP/PNG 图片的方法
1. 加载 BMP CStatic* pWnd = (CStatic*)GetDlgItem(IDC_PIC); // 得到 Picture Control 句柄 pWnd->ModifySty ...
- WTL Picture Control显示图片
1.在对话框上新建一个Picture Control ID为:IDC_STATIC_IMG 2.添加图片资源ID:IDB_BITMAP1(选中Bitmap点击导入,选择bmp图片资源) 实现: CWi ...
- OpenCV 2.2版本号以上显示图片到 MFC 的 Picture Control 控件中
OpenCV 2.2 以及后面的版本号取消掉了 CvvImage.h 和CvvImage.cpp 两个文件,直接导致了苦逼的程序猿无法调用里面的显示函数来将图片显示到 MFC 的 Picture Co ...
- VS2010/MFC常用控件:图片控件Picture Control
图片控件Picture Control 本节主要讲一种简单实用的控件,图片控件Picture Control.我们可以在界面某个位置放入图片控件,显示图片以美化界面. 图片控件简介 图片控件和前面讲到 ...
随机推荐
- HDU 4004 二分
The Frog's Games Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others) ...
- java并发编程:线程安全管理类--原子包--java.util.concurrent.atomic
java.util.concurrent.atomic 的描述 AtomicBoolean 可以用原子方式更新的 boolean 值. AtomicInteger 可以用原子方式更新的 int 值. ...
- Python3 字符串(七)
字符串是 Python 中最常用的数据类型.我们可以使用引号( ' 或 " )来创建字符串. 创建字符串很简单,只要为变量分配一个值即可. python中单引号和双引号使用完全相同. 使用三 ...
- 关于React setState的实现原理(一)
前言 首先在学习react的时候就对setSate的实现有比较浓厚的兴趣,那么对于下边的代码,可以快速回答吗? class Root extends React.Component { constru ...
- Protel画完原理图检查的时候出现了这些错误 #1 Error Multiple Net Identifiers
Error Report For : Documents\Sheet1.Sch 24-Aug-2009 14:58:43 #1 Error Multiple Net Identifiers : She ...
- 6.4-6.5 使用form表单验证,完善登录页面
之前是使用自定义的类来实现登录逻辑,现在使用django内置的form表单验证,用继承django的view来实现登录页面. users > views.py 的内容是: from django ...
- 第2课 C到C++的升级
C与C++的关系: C++在C语言的基础上进行的升级最重要的是两个方面: 1.类型的加强,C++更称得上是高级语言,C++语言对于类型的检查更严格 2.面向对象的支持,天生支持面向对象软件开发方法学 ...
- JPA中的Page与Pageable
Page是Spring Data提供的一个接口,该接口表示一部分数据的集合以及其相关的下一部分数据.数据总数等相关信息,通过该接口,我们可以得到数据的总体信息(数据总数.总页数...)以及当前数据的信 ...
- 【idea】如何彻底卸载idea
卸载MAC中的IDEA Intellij 14 使用命令行: 1 2 3 4 5 6 cd /Applications/ rm -r IntelliJ\ IDEA\ 14.app/ rm -r /Us ...
- solr5.5.0在CenOS上的安装与配置
solr5.5.0在CenOS上的安装与配置 1. Solr简介 Solr是一个基于Lucene的Java搜索引擎服务器.Solr 提供了层面搜索.命中醒目显示并且支持多种输出格式(包括 XML/XS ...