SetStretchBltMode() 防止图片失真
当用StretchBlt缩小时,我们经常发现它会失真:
其原因为当StrecthBlt() 的DestRect比SorRECT小時 必須要將一些点去掉
他的预设做法 是將要去掉的点与旁边的点做AND运算,所以导致像素错误,
解决方法:(原图)
COLORONCOLOR:直接將不要的点删掉.
HALFTONE:將要删掉的像素跟周围的中和起來,這样可得到较好的画质 不过效率当然要牺牲点(相当于PS的那个模糊工具)。
主要测试代码:
CRect rcClient;GetClientRect(rcClient);CPaintDC dc(this);CDC dcMem;dcMem.CreateCompatibleDC(&dc);CBitmap *pOldBmp = dcMem.SelectObject(&m_bmp);BITMAP bm;m_bmp.GetBitmap(&bm);int OldMode = -1;switch(m_State){case State_COLORONCOLOR:OldMode = dc.SetStretchBltMode(COLORONCOLOR);break;case State_HALFTONE:OldMode = dc.SetStretchBltMode(HALFTONE);break;default:break;}dc.StretchBlt(0, 0, rcClient.Width(), rcClient.Height(), &dcMem, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY);if(-1 != OldMode)dc.SetStretchBltMode(OldMode);dcMem.SelectObject(pOldBmp);dcMem.DeleteDC();
直接上三个效果图吧:
测试代码链接:
转载于:https://www.cnblogs.com/hgy413/archive/2011/09/17/3693590.html
SetStretchBltMode() 防止图片失真相关推荐
- 解决StretchBlt()压缩图片失真
vc中位图伸缩函数StretchBlt在对图片进行缩放时会造成严重的图片失真.在了解解决方法前先巩固下StretchBlt的用法: StretchBlt 函数功能:函数从源矩形中复制一个位图到目标矩形 ...
- html屏幕缩小图片不失真,html图片失真怎么办
html图片失真的解决办法:首先打开相应的HTML文件:然后找到HTML img引入的图片:最后通过给img图片添加"object-fit:none;"属性来解决图片失真问题即可. ...
- Adobe Illustrator(ai)导出emf/wmf渐变图片失真色块
参考文献:https://jingyan.baidu.com/album/b87fe19e935c9052183568fc.html?picindex=1 软件环境:Adobe Illustrator ...
- html怎样图片不会失真,css解决图片失真
css image-rendering属性用于浏览器如何处理图片呈现.IE下使用-ms-interpolation-mode,在IE7下只支持图片不支持透明,且默认值为"nearest-ne ...
- css解决图片失真问题
1.背景图片失真 .con{height:100vh;width:100vm;background: url(../../assets/login/background.png) 100% 100%; ...
- java关于Zxing 生成带Logo 二维码图片失真问题
java关于Zxing 生成带Logo 二维码图片失真问题 问题点 logo本身是高清图片,但是Zxing生成的二维码中,logo像素失真,感觉被严重压缩一样. 排查问题 是Graphics2D 绘制 ...
- PPT另存为pdf的图片失真问题解决
用PPT做好宣传图,另存为pdf.图片失真了. http://blog.csdn.net/weixin_37730347/article/details/70171242参考这个链接修改PPT的参数, ...
- JS生成二维码以及保存页面为图片的解决方案:html2Canvas+file-saver+qrcodejs2的使用心得以及解决图片失真,保存不完整的解决办法
前言 最近因为工作需求,需要前端根据后端传过来的链接生成二维码,并且要使用JS保存页面为图片.然后网上搜了很多解决办法.最终都是用h5的canvas进行绘制然后保存为图片.其中,又以html2Canv ...
- poi导出图片失真变为红色和图片背景变为黑色
插入图片: private void setPicture(HSSFWorkbook wb, HSSFPatriarch patriarch, String pic, int iRowStart, i ...
- flash无法找到类接口和图片失真问题。
刚写的,直接刷没了.0-0 看问题. 公司升级软件,但是,再使用原来的模板和类后,系统报错:无法找到类接口. 整整一篇. 但是我进去看了代码,使用了import和include,那到底是那里错了呢? ...
最新文章
- svn 不支持http 客户端_Xversion for mac(SVN客户端)
- 查看电脑python虚拟环境-手把手教你在Linux系统下使用Python虚拟环境
- jmeter(十一)JDBC Request之Query Type
- tp5 童攀_童攀TP5企业网站实战笔记
- rest spring_Spring REST:异常处理卷。 1个
- 从Oracle向PPAS移行不成功时的处理
- js的异常捕获try和catch语句
- 突发!百度张亚勤退休
- 【论文】Realtime lane tracking of curved local road 检测和跟踪功能
- Milking Cows /// 区间计数 离散化排序 oj10105
- 汽车电子控制系统的构成
- 智能计算系统课程笔记05:编程框架机理
- 熬夜肝出囊括Java后端95%的面试题解析
- 主机宝linux版,主机宝linux版有什么用
- 如何利用少数粉丝,实现短时间流量倍增?
- android 键盘 定义,自定义全键盘-[Android_YangKe]
- 国外计算机科学英语演讲,华工学子英语演讲共庆祖国华诞
- QTP工具简单操作使用说明
- 诺基亚两年裁员11044人,中国幅度最大达3500人
- Web渗透测试之逻辑漏洞挖掘
热门文章
- java程序中oracle回滚,Oracle的DDL语句不能回滚(直接提交)
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_23-页面预览-页面预览开发
- 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_15-异常处理-异常处理流程...
- PyTricks 翻译:Python 字典的 get() 方法和它的默认参数
- Android-将RGB彩色图转换为灰度图
- TypeError: this.getResolve is not a function
- 【HANA系列】SAP HANA中null变成问号的问题
- Mybatis 优化:
- 基于bootstrap table配置的二次封装
- 硬件开发者之路之——保护电路系列之输入电源端口的防护设计