[ATL/WTL]_[Gdiplus]_[关于使用Gdiplus来绘制反锯齿的圆角矩形]
场景
在使用WTL或MFC开发自定义按钮时, 往往美工设计的按钮都时圆角矩形的. 用
GDI
的函数RoundRect
函数可以简便的绘制圆角矩形, 但是如果椭圆(ellipse)的宽高比较大的时候, 按钮比较大. 这时候按钮的圆角矩形看起来就是有锯齿的(aliasing).在
GDI
的函数里, 没有比较好的函数来实现抗锯齿(antialias), 如果不想自己去解决锯齿效果, 只能使用Gdiplus来解决.
说明
Gdiplus没有自己的
RoundRect
函数, 所以需要自己实现一个. 其实圆角就是直角坐标系以椭圆形的圆心为原点分割4部分, 在4个角分别绘制椭圆的4个部分, 之后再由上下左右4条直线组成.关键的函数还是
graphics.SetSmoothingMode(Gdiplus::SmoothingModeAntiAlias);
, 没有这个, 绘制出来的圆角矩形和RoundRect
是一样的, 有锯齿.
例子
图示
// Create round rect path.
[ATL/WTL]_[Gdiplus]_[关于使用Gdiplus来绘制反锯齿的圆角矩形]相关推荐
- app图标圆角角度_怎样使用sketch绘制标准APP图标圆角矩形背景?
主要是做UI设计时ICON背景板的一些操作方式,例如以下图标的背板.可以看出不单单是圆角矩形,而是有点胖胖的圆角矩形,那这种矩形要怎么简便省时的操作. 用sketch绘制的效果我简单会分为3种常见背板 ...
- 去掉圆角_小米11高清渲染图曝光:蓝色机身 圆角矩形摄像模组
12月25日消息,下周一,全新小米11就将正式亮相,临近发布,关于这款新机的消息也是越来越多,日前,国外社交媒体放出了小米11的高清渲染图. 从图片可以看到,新机提供了蓝色的配色,整个配色清新.淡雅, ...
- [WTL/ATL]_[Gdiplus]_[绘制虚线并设置破折号空格的宽度]
场景 WTL界面开发时,有些情况下需要绘制虚线,比如圆角矩形的虚线,默认的破折号和点之间的空格特别小,看着比较密集,那么如何增加点线之间的空格,或者增加破折号的长度? 说明 使用Gdiplus绘制圆角 ...
- [ATL/WTL]_[Gdiplus]_[实现按钮的阴影效果]
场景 在WTL开发时, 由于界面需要, 很多按钮都是奇形怪状的. 比如卡片形状, 圆角矩形等等. 只要是点击能响应一个事件的, 我们都可以看做是一个异形按钮. 其中让按钮呈现立体效果, 动画效果等一直 ...
- [WTL/ATL]_[中级]_[自定义TrackBar]
场景 开发WTL/ATL界面程序时, 有时候会需要微调控件进行缓慢增减数值. 但是微调控件在大数值调整上往往比较麻烦,需要点击很多次.这时就需要使用TrackBar控件[1]进行大数值的快速变化. 标 ...
- [ATL/WTL]_[初级]_[自定义多列TreeView]
场景 在开发 Win32,WTL,MFC 程序时,经常会用到 ListView 这个表格控件,ListView 的数据是按照行来显示的,行与行之间没有并没有什么关系.但是如果行之间有父子关系,比如像树 ...
- MATLAB_4-形态学_腐蚀_膨胀_灰度图的腐蚀以及膨胀_开运算_闭运算_文章末尾有几个素材例子
素材链接: MATLAB_4-形态学_课程需要的素材 记住单词拼写: 腐蚀 erode 膨胀 dilate 开运算 open 闭运算 close 图像重建 imreconstruct reconstr ...
- 计算机会计课程试题及答案,计算机会计第2次作业_报表_附答案
计算机会计第2次作业_报表_附答案 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 . . . . .<计算机会计>课程作业 ...
- java语言仅支持单重继承_java语言程序设计基础篇习题_复习题_第十一章
java语言程序设计基础篇习题_复习题_第十一章 11.1 下面说法是真是假?一个子类是父类的子集. 11.2 使用什么关键字来定义一个子类 11.3 什么是单一继承?什么是多重继承?java支持多重 ...
- 宏定义中的#、##操作符和... 、 _ _VA_ARGS_ _解析
# #符号作为一个预处理运算符,它可以把语言符号转化成字符串.例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字符串.该过程称为字符串化(stringizing). 例子 #incldu ...
最新文章
- 【Java例题】2.1复数类
- 【extjs6学习笔记】1.1 初始:创建项目
- cplex学术版安装
- abap 如何去掉字符串前导0
- QT通过JavaScript动态创建QML对象
- SpringBoot2.x Flowable 6.4.2 开源项目
- python读取字典元素笔记_Python 学习笔记 - 字典
- powershell 安装mvn_Maven 安装好之后,命令行执行 `mvn -v` 提示“'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。”...
- HWPFDocument读取doc,wps文档(含图片读取)
- 博客6:磁盘以及创建文件系统的相关知识点
- [2019上海网络赛F题]Rhyme scheme
- oracle数据库赋权_Oracle数据库权限
- 软件管理 --软件仓库的搭建
- 2014江西理工大学C语言程序竞赛高级组
- vs2017 linux unable to start debugging
- 高校学生考勤管理系统设计与简单实现
- 再理解:零空间、行空间、列空间、左零空间、基础解系、极大线性无关组、齐次解、非齐次解之间的关系
- Node* create()的含义
- 一个牛B程序员的奋斗
- js中遍历数组加到新数组_JS数组遍历的十二种方式
热门文章
- bypass功能介绍
- Java 设计模式 Adapter 类适配器 模式
- Neo4j 语法帮助文档
- 使用SecureCRT下载服务器日志到本地windows
- Java项目毕业设计:基于springboot+vue的旧物置换网站
- python launcher下载_Python flauncher包_程序模块 - PyPI - Python中文网
- java actionsupport_struts2为什么action要继承actionSupport类
- Typora突然开始收费?开源免费的MarkText了解一下
- java|jsp类成品展示_jsp学生诚信素质评价系统
- 安装HP P1008打印机经历