其他分享
首页 > 其他分享> > GDI+学习笔记

GDI+学习笔记

作者:互联网

生成Graphics的两种方法:

l 通过事件参数Eventargs生成;

l 通过控件的CreateGraphics方法生成;

 

绘制的两种方法:

l 控件的paint事件;

l 重写Control类的OnPaint方法;

Graphics是否需要Dispose释放资源?(也可以使用using释放资源)

1、由事件参数EventArgs创建的Graphics不需要释放资源,如e.Graphics;

2、由控件本身创建的Graphics需要释放资源,如this.CreateGraphics;

图形变换/变形的分类:

1、线性变形:旋转、缩放和翻转等简单的变形,都是线性变形;

2、仿射变形:线性变形后,再进行平移变形,就叫做仿射变形;

3、剪切变形:根据一个剪切因数对对象进行的扭曲变形;

进行变换的方式

1、通过Graphics的Transform方法进行变换;

2、通过Matrix类进行变换,将Matrix赋值给Graphics的Transform属性即可;

3、对Path和Region进行局部变换;

变换方法测试截图:

关于Matrix类的几点说明:

GDI+中有绘图表面的概念,Graphics由哪个控件(或者其事件参数,或者回调方法)创建,那么绘图就会在该控件表面进行,而不会绘制到别的控件表面上;

Rectangle和RectangleF:左边是整数int为参数的矩形,右边是浮点数float为参数的矩形

Point和PointF:左边是整数int为参数的点,右边是浮点数float为参数的点;

双缓存的设置代码:

            this.SetStyle(ControlStyles.UserPaint,true);
            this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);

测试截图:

测试截图

英语生词本:

thumbnail 英 /ˈθʌmneɪl/  美 /ˈθʌmneɪl/  n. 拇指指甲;极小的东西;短文;缩略图

adj. 极小的,极短的

palette 英 /ˈpælət/  美 /ˈpælət/ n. 调色板;一组颜色;(计算机程序中的)选项板;

intersect 英 /ˌɪntəˈsekt/  美 /ˌɪntərˈsekt/  v. 相交,交叉;横穿,横断;交集

...............................待续......................................

 

标签:控件,缩放,变形,笔记,学习,变换,参数,Graphics,GDI
来源: https://www.cnblogs.com/zhangdezhang/p/16128337.html