C#的绘图

来源:互联网 发布:php 遍历对象 编辑:程序博客网 时间:2024/05/17 01:26

GDI是Graphics Device Interface的缩写,含义是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出。

微软推出netFramework后,里面包含了新的绘图函数,统称GDI+。GDI+是GDI的下一个版本,它进行了很好的改进,并且易用性更好。GDI的一个好处就是你不必知道任何关于数据怎样在设备上渲染的细节,GDI+更好的实现了这个优点,也就是说,GDI是一个中低层API,你还可能要知道设备,而GDI+是一个高层的API,你不必知道设备。

c#的绘图其实很简单,整个GDI+的函数都包装在system.drawing;system.drawing.drawing2d;system.drawing.image等等命名空间,引用这些命名空间就可以轻易绘制出各种我们所需要的图形。

一般窗体或控件都具有绘图能里,如果需要在其上面绘图,调用其函数onPaint()就行了。传入参数是PaintEventArgs e,通过e.Graphics进行绘图。Grapics是GDI+的核心,若要绘制任何图形,都需要先创建一个Graphics对象,然后使用其方法进行绘图操作。常用的绘图函数包括drawLine();drawRetangle();等等。

使用 BufferedGraphics 类,可以实现图形的自定义双缓冲。它提供图形缓冲区的包装,以及可用于写入缓冲区和将其内容呈现到输出设备的方法。使用双缓冲的图形可以减少或消除重绘显示图面时产生的闪烁。使用双缓冲时,更新的图形首先被绘制到内存的缓冲区中,然后,此缓冲区的内容被迅速写入某些或所有显示的图面中。显示图形的重写相对简短,这通常可以减少或消除有时在更新图形时出现的闪烁。

总结起来,绘图程序的一般步骤:

1、创造Graphics对象通常有三种方法创建Graphics对象,一、窗体的Paint或者OnPaint的响应方法;二、调用控件或窗体的this.CreateGraphics的方法。前面两种皆以窗体或控件为画布。三、建立Image对象,Graphics g = Graphics.FromImage(img)

2、使用Graphics对象的方法绘图、显示文本