GDI+绘图
[GDI+绘图]编程
- GDI+指的是.NETFramework 4.0中提供二维图形、图像处理等功能,是构成Windows操作系统的一个子系统,它提供了图形图像操作的应用程序编程接口(API)。
- 使用GDI+可以用相同的方式在屏幕或打印机上显示信息,而无须考虑特定显示设备的细节。GDI+类提供程序员用以绘制的方法,这些方法随后会调用特定设备的驱动程序。GDI+将应用程序与图形硬件分隔,使程序员能够创建与设备无关的应用程序。
- GDI+主要用于在窗体上绘制各种图形图像,可以用于绘制各种数据图形、数学仿真等。GDI+可以在窗体程序中产生很多自定义的图形,便于开发人员展示各种图形化的数据。
一、创建Graphics对象
(1)在Paint事件中创建Graphics对象。
1 private void Form1_Paint(object sender, PaintEventArgs e) 2 { 3 Graphics g = e.Graphics; 4 }
(2)在窗体的Load事件中,通过CreateGraphics方法创建Graphics对象。
1 private void Form1_Load(object sender, EventArgs e) 2 3 { 4 5 Graphics g; 6 7 g = this.CreateGraphics(); 8 9 }
(3)在窗体的Load事件中,通过FromImage方法创建Graphics对象。
1 private void Form1_Load(object sender, EventArgs e) 2 3 { 4 5 Bitmap mbit = new Bitmap(@"C:\ls.bmp"); 6 7 Graphics g = Graphics.FromImage(mbit); 8 9 }
二、创建Pen对象
Pen类主要用于绘制线条,或者线条组合成的其他几何形状。Pen类的构造函数如下。
语法:
public Pen (Color color,float width)
color:设置Pen的颜色。
width:设置Pen的宽度。
例如:
1 //实例化一个Pen类,并设置其颜色和宽度 2 3 Pen mypen1 = new Pen(Color.Blue, 2);
三、创建Brush对象
Brush类主要用于填充几何图形,如将正方形和圆形填充其他颜色。Brush类是一个抽象基类,不能进行实例化。若要创建一个画笔对象,需使用从Brush派生出的类,如下面的3个派生子类:
(1)SolidBrush类,构造器如下:
1 public SolidBrush(Color color) 2 color:表示此画笔的颜色。
(2)HatchBrush类,构造器如下:
1 public HatchBrush (HatchStyle hatchstyle,Color foreColor) 2 hatchstyle:HatchStyle值之一,表示此HatchBrush所绘制的图案 3 foreColor:Color结构,它表示此HatchBrush所绘制线条的颜色。
(3)LinerGradientBrush类,构造器如下:
1 public LinerGradientBrush(Point point1, Point point2,Color color1, Color color2)
四、绘图实例
(1) 绘制柱形图
柱形图也称为条形图,是程序开发中比较常用的一种图表技术。柱形图是通过Graphics类中的FillRectangle方法实现的,此方法用于填充由一对坐标、一个宽度和一个高度指定的矩形的内部,语法如下:
1 public void FillRectangle (Brush brush, int x, int y, int width, int height)
(2) 绘制拆线图
折线图可以很直观地反映出相关数据的变化趋势,折线图主要是通过绘制点和折线实现的。绘制点是通过Graphics类中的FillEllipse方法实现的,语法如下:
1 public void FillEllipse (Brush brush,int x,int y,int width,int height)
(3) 绘制饼状图
饼形图可以很直观地查看不同数据所占的比例情况,通过Graphics类中的FillPie方法,可以方便地绘制出饼形图,语法如下:
1 public void FillPie (Brush brush, int x, int y, int width, int height, int startAngle, int sweepAngle)

浙公网安备 33010602011771号