文档介绍:第7章 GDI+编程
Framework出现以前,Windows程序员曾使用GDI(Graphics Device Interface,图形设备接口)绘制图形、文本和图像。GDI+是GDI的扩展版本,对原有的GDI功能进行了优化,并增添了许多新特性,为开发人员进行图形图像编程构建了一整套类和结构。、、、System. 、。使用这些命名空间下的类和结构,能够满足大多数图形图像编程的需要,如表7-1所示。
表7-1 GDI+的命名空间
命名空间
描述
包含大多数的类、结构、枚举和委托,与基本绘图功能有关
包含提供高级功能的复杂的绘图类
包含图像处理的各种类
包含将打印机或打印预览窗口作为输出设备时使用的类
包含一些预定义的对话框、属性表单和其他用户界面元素,与在设计期间扩展用户界面有关
包含对字体和字体系列执行更高级操作的类
创建Graphics对象
,提供了绘图界面上绘图的功能,可以绘制圆弧、曲线、Bezier曲线、椭圆、图像、线条、矩形和文本。Graphics类的一些属性、方法如表7-2所示。
表7-2 Graphics类的一些属性、方法
属性/方法
描述
DpiX和DpiY
用于返回图形设备的水平分辨率和垂直分辨率。Dpi(dots per inch)表示每英寸的点数
Clear( )
用于清除绘图表面,并用背景色填充绘图表面,背景色作为该方法的参数提供
DrawArc( )
用于绘制圆弧
DrawEllipse( )
用于绘制由矩形约束的椭圆
DrawImage( )
DrawImageScaled( )
可以向输出设备绘制图像
DrawLine( )
在两点之间绘制线条
DrawLines( )
绘制一系列连接着的线条
DrawPie( )
用于绘制扇形或饼形
DrawPolygon( )
用于绘制多边形,多边形的定点由一个点数组指定
DrawRectangle( )
用于绘制矩形,由一个点标记矩形的起点,height和width参数用于定义矩形的高和宽
DrawString( )
GDI+的排版功能,使用该方法可以绘制带有填充和轮廓效果的文本
FillPie( )
用于填充饼形
FillPolygon( )
用于填充多边形
FillRectangle( )
用于填充矩形
RotateTransform( )
可以使用1~360度之间的一个角度翻转图像
ScaleTransform( )
可以缩放显示在输出设备上的图形
在绘图之前,必须在指定的窗体上创建一个Graphics对象,即建立一块画布,只有创建了Graphics对象,才可以调用Graphics类的方法画图。但不能直接建立Graphics类的对象,例如,以下语句是错误的:Graphics 对象名= new Graphics();
可以用以下方法建立Graphics对象。
(1) 调用窗体CreateGraphics方法建立Graphics对象
通过当前窗体的CreateGraphics方法,把当前窗体的画笔、字体和颜色作为默认值,获取对Grpahics对象的引用。
【例7-1】在窗体Form1中按钮的单击事件中编写如下代码,。
private void button1_Click(object sender, EventArgs e)
{
Graphics g = (); //建立Graphics对象
(new Pen(,5),10,10,60,80);
}
(2) 在窗体的Paint事件处理过程中建立Graphics对象
在窗体的Paint事件(该事件在绘制窗体时发生)处理过程中,通过Graphics属性获取Graphics对象。
【例7-2】在窗体Form1的Paint事件中编写如下代码,