相关视频课程见:​​【VB.NET】二维图形绘制​

     GDI是图形设备接口(Graphics Device Interface)的缩写,不只您为Windows编写的应用系统在显示视觉信息时使用GDI,就连Windows本身也使用GDI来显示使用者接口对象,诸如菜单、滚动条、图标和鼠标光标。

       GDI+是一种应用程序编程接口(API),构成Windows操作系统的子系统,通过优化现有功能和增加新功能来对原GDI进行改进。GDI+负责在屏幕和打印机上显示信息。顾名思义,GDI+是GDI(Windows早期版本中包含的图形设备接口)的后续版本。GDI+ API通过作为托管代码部署的一组类公开。这一组类称为GDI+托管类接口。

        使用GDI+可以在屏幕或打印机上显示信息,而不必担心特定显示设备的具体细节问题。程序员调用GDI+类提供的方法。这些方法反过来对特定的设备驱动程序进行适当的调用。GDI+将应用程序与图形硬件隔离开来。正是这种隔离使程序员能够创建独立于设备的应用程序。

以下命名空间构成GDI+托管类接口:

System.Drawing 绘图

System.Drawing.Drawing2D 二维绘图

System.Drawing.Imaging 成像

System.Drawing.Text 文本

System.Drawing.Printing 打印

Windows Forms 中提供的图形功能分为以下三大类别:

(1)二维矢量图形

      计算机中显示的图形一般可以分为两大类,矢量图和位图。矢量图使用直线和曲线来描述图形,这些图形的元素是一些点、线、矩形、多边形、圆和弧线等等,它们都是通过数学公式计算获得的。例如一幅花的矢量图形实际上是由线段形成外框轮廓,由外框的颜色以及外框所封闭的颜色决定花显示出的颜色。由于矢量图形可通过公式计算获得,所以矢量图形文件体积一般较小。矢量图形最大的优点是无论放大、缩小或旋转等不会失真;最大的缺点是难以表现色彩层次丰富的逼真图像效果。可以在图元文件中记录矢量图像。GDI+提供Metafile类,用于记录、显示和保存图元文件。使用MetafileHeader和MetaHeader类,可以检查存储在图元文件头中的数据。

(2)成像  

       某些类型的图片使用矢量图形技术很难或不可能显示。例如工具栏按钮上的图片和显示为图标的图片很难指定为线条和曲线的集合。一张高分辨率的人数众多的棒球场数码照片,使用矢量技术创建就更难了。此类型的图像都是存储为位图,位图是数值数组,这些数值表示屏幕上的各个点的颜色。GDI+提供Bitmap用于显示、操作和保存位图。

(3)字体排版

       排印版式是以各种字体、大小和样式来显示文本。GDI+为此复杂任务提供广泛的支持。GDI+中新增的一个功能就是子像素的抗锯齿功能,它使在LCD屏幕上呈现的文本具有更流畅的外观。此外Windows Forms提供了在其TextRenderer类中具有的GDI功能来绘制文本的选项。注意TextRenderer的DrawText方法不支持打印,应始终使用Graphics类的DrawString方法。

(注:资料摘译自微软网络)