惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog
Jina AI
Jina AI
博客园 - 聂微东
S
SegmentFault 最新的问题
量子位
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页

博客园 - 李阳

Sqoop执行mysql删除语句 Java采用JDBC的方式连接Hive(SparkSQL) ubuntu 升级内核 Ubuntu 13.04设置root用户登录图形界面 ubuntu make menuconfig error Oracle创建用户和表空间脚本 GPL & BSD 许可证 - 李阳 调用WindowsAPI显示帮助提示 SQLServer 存储过程简介与使用方法 SQLServer 游标简介与使用说明 SQLServer 表值函数与标量值函数 定义方式与调用区别 灵活使用多线程编程——EventWaitHandle类 灵活使用多线程编程——AutoResetEvent类 [提问] 关于C#自定义控件的问题(请高手帮忙解决) Access数据库连接池问题 软件版本号的详解 安全的ACCESS加密方法 Oracle Hint的用法 Oracle存储过程编写经验和优化措施
使用Graphics画图的小技巧
李阳 · 2009-03-24 · via 博客园 - 李阳

在C#中我们一般是使用Graphics进行绘制图象,最近我发现一些绘制的小技巧以及问题。我将一一在这里告诉大家。

1、绘制使用双缓冲的方法。

     无论什么图形都是由一些线,弧形组成的,绘制完毕一个图形可能需要绘制无数次的线以及弧形,如果我们无数次的从窗口的句柄声称Graphics进行绘制,那么我们就会发现一个很有意思的现象就是画面在一点点地绘制显示,如果我们使用双缓冲的话,那么画面就会在内存中绘制完毕,然后一起排到画面上。下边的代码分别是双缓冲代码和不是双缓冲代码。

双缓冲绘制代码

 2、关于SmoothingMode的使用

     有时候,我们需要绘制一些虚线,或者险段之类的线,我们只需要改变声明的Pen变量的DashStyle属性值就可以了。但是绘制的时候我发现,如果我将DashStyle的属性更改为Dot(也就是虚线)但是如果我们画的线是水平或者垂直的并且SmoothingMode为Default的话,Graphics会为我们绘制的很好,但是如果为一条倾斜的线,那么我们就会发现绘制很不好看,会曲曲弯弯,这时我们需要将SmoothingMode改变为HighQuality就可以了,虽然效果也不是很好,但是也已经不错了。而且我发现了一个很有意思的事情,就是当SmoothingMode为HighQuality时,DashStyle为Dot(也就是虚线)时,在水平以及垂直的时候绘制出来的却是一条直线,而且颜色也不纯了,可能这时其内部处理的原因。所以如果我们想绘制水平或者垂直的虚线,就需要将SmoothingMode设置为Default就可以了。

未完待续。。。。。。