5-1 GDI+绘图基本知识<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Windows操作系统的图形输出是与设备无关的,使用GDI来处理二维图形图像,进行图形输出。Windows早期版本中使用GDI图像设备接口 (Graphics Device Interface), 是属于绘图方面的 API (Application Programming Interface)。因为应用程序不能直接控制硬件, 所以当我们要进行绘图的动作时, 必须通过 GDI 才能完成,由GDI完成实际的图形输出操作。
那 GDI+ 又是什么呢?GDI+ 是 .NET Framework的绘图技术, 可将应用程序和绘图硬件分离, 让我们能够编写与设备无关的应用程序。它可以让我们不需注意特定显示设备的详细数据, 便可在屏幕或打印机上显示信息。我们可以调用 GDI+ 类别所提供的方法, 然后这些方法会适当地调用特定的设备驱动程序, 而完成绘图。
本章学习目标:
n
了解System. Drawing 命名空间
n
掌握矢量图形和绘制对象
n
可以绘制简单的几何图形
n
掌握图像的基本处理技术
<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />5-1-1 坐标系统
窗体、控件或者打印机都包含坐标,这里是二维图形绘制,即具有X和Y坐标,默认情况,X坐标代表从绘图区左边边缘(Left)到某一点的距离,Y坐标代表从绘图区上边边缘(Top)到某一点的距离。
1.
坐标原点:在窗体或控件的左上角,坐标为(0,0);
2.
正方向:X轴正方向为水平向右,Y轴正方向为垂直向下;
3.
单位:在设置时,一般以像素为单位,像素(Pixel) 是由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的,是用来计算数码影像的一种单位,把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成,这些小方点就是构成影像的最小单位像素(Pixel)。图形的质量由像素决定,像素越大,分辨率也越大。
5-1-2 System.Drawing命名空间
System.Drawing 命名空间提供了对 GDI+ 基本图形功能的访问,其中一些子命名空间中提供了更高级的功能。该命名空间中常用类,如表5-1和5-2所示。
类
|
说明
|
Bitmap
| |
Brush
|
定义用于填充图形形状(如矩形、椭圆、饼形、多边形和封闭路径)的内部的对象。
|
Font
|
定义特定的文本格式,包括字体、字号和字形属性。无法继承此类。
|
Graphics
|
封装一个
GDI+
绘图图面。无法继承此类。
|
Pen
|
定义用于绘制直线和曲线的对象。无法继承此类。
|
Region
|
指示由矩形和由路径构成的图形形状的内部。无法继承此类。
|
表
5-1
常用结构,如表5-2所示。
结构
|
说明
|
Color
|
表示
RGB
颜色。
|
Point
|
表示在二维平面中定义的点、整数
X
和
Y
坐标的有序对。
|
Rectangle
| |
Size
|
存储一个有序整数对,通常为矩形的宽度和高度。
|
表5-2
5-1-3 Graphics类
Graphics 类封装了一个GDI+绘图界面,提供将对象绘制到显示设备的方法,使用GDI+创建图形图像时,需要先创建Graphics对象,即在哪里画图,该类无法继承。有三种类型的绘图界面:
1.
窗体和控件
2.
打印机
3.
内存中的位图
Graphics类不能直接实例化,创建图形对象的方法有三种:
1.
控件类的OnPaint()方法参数PaintEventArgs获取Graphics对象
2.
窗体类或控件类中的CreateGraphics()方法获得Graphics对象。
3.
从位图对象(Bitmap)产生一个Graphics对象,Graphics.FromImage(bitmap);
常用方法及属性,如表5-3所示。
名称
|
说明
|
Dispose
|
释放由 Graphics 使用的所有资源。
|
DrawEllipse
|
绘制一个由边框(该边框由一对坐标、高度和宽度指定)定义的椭圆。
|
DrawArc
|
绘制弧形
|
DrawLine
|
绘制一条连接由坐标对指定的两个点的线条。
|
绘制由一组 Point 结构定义的多边形。
| |
绘制由坐标对、宽度和高度指定的矩形。
| |
绘制一个扇形,该形状由一个坐标对、宽度、高度以及两条射线所指定的椭圆定义。
| |
DrawCurse
|
绘制曲线,由参数Point数组指定
|
填充边框所定义的椭圆的内部,该边框由一对坐标、一个宽度和一个高度指定。
| |
FillRegion
|
填充 Region 的内部。
|
ScaleTransform
|
将指定的缩放操作应用于此 Graphics
|
TanslateTransform
|
平移更改坐标系统的原点
|
表5-3 Graphics常用方法
转载于:https://blog.51cto.com/qianshao/217429