为了编写图形应用程序,需要很好地理解绘制表面和坐标系统的相关知识
绘制表面
所有的绘图应用程序都由三个公共组件组成: 一个画布,一个画笔,一个过程
画布是绘制对象的地方。例如在Windows应用程序中,一个Form就是一个画布
画笔或钢笔表示在画布上所绘制的对象的纹理,颜色和宽度等
过程描述了在画布上绘制对象的方式
每个绘制表面都有四个公共属性:宽度,高度,分辨率和颜色深度
其中分辨率属性是一个衡量图形对象或图像的输出质量的参数,它的单位是每英寸点数dpi。
绘制表面的颜色深度是表示每个像素所使用的颜色数
GDI+使用Color结构体来表示颜色。它有四个分量:Alpha,红,绿,蓝。每个分量都有256(2的8次方)种颜色组合。Alpha决定了颜色的透明度
GDI+提供了三种类型的表面:窗体,打印机和位图
窗体表面:当编写在窗体上进行绘制Windows应用程序时,窗体将作为绘制表面度且支持所有绘制表面所需的属性
打印机表面:当应用程序进行打印时,打印机将作为绘制表面
位图表面:当在内存中创建图像并将其保存为位图时,位图将作为绘制表面。
坐标系统
默认的GDI+坐标系统从屏幕左上角的处(x=0,y=0)开始
GDI+提供了三种类型的坐标系统:全局坐标,页面坐标和设备坐标
全局坐标->全局变换->页面坐标->页面变换->设备坐标
如何选择绘制表面?从哪里获得Graphics对象,则就是绘制表面。
在绘图时,关键是Graphics对象的获取。有多种方式。
1,使用窗体的paint事件
可以使用窗体的paint事件的PaintEventArgs属性来获取一个与窗体相关联的Graphics对象
2,重载OnPaint方法
这种方式也是使用PaintEventArgs属性来得到Graphics对象
3,使用其它方法
所有控件都有的方法,CreatGraphics()返回一个与这个控件相关联的Graphics对象
还可以使用Graphics类的静态方法来获得Graphics对象,例如:FromImage(),FromHwnd()等静态方法,它们分别从图像,窗口句柄得到Graphics对象
深度学习画图visio素材
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:多个容器一块查询
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章