首先先了解什么是 GDI ?GDI 是从 Windows 95 到 Windows 2000 随附的旧版绘图装置接口 (Graphics Device Interface), 是属于绘图方面的 API (Application Programming Interface)。因为应用程序不能直接控制硬件, 所以当我们要进行绘图的动作时, 必须透过 GDI 才能完成。
下面我将开始逐步讲解一些C#绘图知识
1.简单的画线条、矩形、椭圆、画刷和文字添加
新建一个Windows窗体应用程序,命名为GDItest,选择窗体的Paint事件,开始编写:
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics; //创建一个画图设备
Pen p = new Pen(Color.Red, 5);//定义了一个红色,宽度为5的画笔
g.DrawLine(p, 20, 20, 120, 20);//在画板上画直线,起始坐标为(20,20),终点坐标为(120,20)
p.Color = Color.Blue;//重新定义画笔颜色为蓝色
g.DrawRectangle(p, 20, 40, 100, 40);//在画板上画矩形,起始坐标为(20,40),宽为100,高为40
p.Color = Color.Black;//重新定义画笔颜色为黑色
g.DrawEllipse(p, 20, 100, 100, 100);//在画板上画椭圆,起始坐标为(20,100),外接矩形的宽为100,高为100
SolidBrush brush = new SolidBrush(Color.Blue);//创建一个画刷
g.FillRectangle(brush, 20, 40, 100, 40);//用画刷填充矩形
Font strFont = new Font("Arial Black", 30); //创建字体
g.DrawString("Hello", strFont, new SolidBrush(Color.OrangeRed), new Point(150, 40));
}
运行结果如图:
Graphics对象提供了一系列绘制图形的方法,部分如下:
DrawLine(直线)
DrawRectangle (矩形)
DrawEllipse (椭圆)
DrawCurve (曲线)
DarwArc (弧线)
DrawPie (扇形)
DrawLines (多边形)
DrawPolygon (封闭多边形)
DrawBezier (贝兹曲线)等
FillCircle 画填充圆(有边框)
FillEllip