GDI概念
编写图形程序时需要使用GDI(图形设备接口Graphics Device Interface),从程序设计的角度看,GDI包括两个部分:GDI对象和GDI函数。
GDI对象定义了GDI函数使用的工具和环境变量,GDI函数对象绘制各种图形。在C#中,进行图形程序编写时用到的都是GDI+版本,是GDI的进一步扩展,它使我们变成更加方便。
GDI+是微软提供的新的图形设备接口,通过托管代码的类来展现。GDI+主要提供了三类服务:
- 二维矢量图形
- 图像处理
- 文字显示
GDI+比GDI的优越性主要展现在2个方面:
- 扩展了新功能
- 变成更加简易灵活
绘图程序的设计一般分为两个步骤:
(一)创建Graphics对象;
(二)使用创建的Graphics对象的方法绘图、显示文本或处理图像。
创建Graphics对象
使用Graphics
创建Graphics对象
- 利用Paint事件中的PaintEventArgs在窗体或控件的Paint事件中接收对图像对象的引用。在为控件创建绘制代码时,通常用此方法。重新绘制事件
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
}
2.调用控件或窗体的CreatGraphics方法
调用控件或窗体的CreateGraphics方法获取对象的引用,创建Graphics的实例。如果想在已存在的窗体或控件上画图,通常使用此方法创建实例。
Graphics g = this.CreateGraphics();
3.调用Graphics类的FromImage()方法。在需要更改已存在的图像时,通常用此方法。
Image img = Image.FromFile("g1.jpg");
//或者创建Bitmap对象
Bitmap IMage = new Bitmap(bgStr);
Graphics g1 = Graphics.FromImage(img);
Graphics类的方法成员
创建了Graphics类的对象引用后,就可以利用该对象的成员绘制各种各样的图形,下表列出了Graphics类的常用方法成员。
方法名称 | 说明 |
---|---|
DrawArc | 画弧形 |
DrawBezier | 画立体的贝尔赛曲线 |
DrawClosedCurve | 画闭合曲线 |
DrawCurve | 画曲线 |
DrawEllipse | 画椭圆 |
DrawImage | 画图像 |
DrawLine | 画线 |
DrawPie | 画饼状图 |
DrawPolygon | 画多边形 |
DrawRectangle | 画矩形 |
DrawString | 绘制文本 |
FillEllipse | 填充椭圆 |
FillPath | 填充路径 |
FillPie | 填充饼图 |
FillRectangle | 填充矩形 |
FillRegion | 填充区域 |