GDI+ 中的笔、直线和矩形
若要用 GDI+ 绘制直线,需要创建 Graphics 对象和 Pen 对象。 Graphics 对象提供进行实际绘制的方法,Pen 对象存储特性,如直线的颜色、宽度和线型。
绘制直线
若要绘制直线,请调用 Graphics 对象的 DrawLine 方法。 将 Pen 对象作为参数之一传递给 DrawLine 方法。 下面的示例绘制了一条从点 (4, 2) 到点 (12, 6) 的直线:
myGraphics.DrawLine(myPen, 4, 2, 12, 6)
myGraphics.DrawLine(myPen, 4, 2, 12, 6);
DrawLine 是 Graphics 类的一个重载方法,因此,有数种为其提供参数的方式。 例如,可构造两个 Point 对象并将 Point 对象作为参数传递给 DrawLine 方法:
Dim myStartPoint As New Point(4, 2)
Dim myEndPoint As New Point(12, 6)
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint)
Point myStartPoint = new Point(4, 2);
Point myEndPoint = new Point(12, 6);
myGraphics.DrawLine(myPen, myStartPoint, myEndPoint);
构造钢笔
可以在构造 Pen 对象时指定某些特性。 例如,有一种 Pen 构造函数允许您指定颜色和宽度。 下面的示例绘制了一条从 (0, 0) 到 (60, 30) 宽度为 2 的蓝线:
Dim myPen As New Pen(Color.Blue, 2)
myGraphics.DrawLine(myPen, 0, 0, 60, 30)
Pen myPen = new Pen(Color.Blue, 2);
myGraphics.DrawLine(myPen, 0, 0, 60, 30);
虚线和线帽
Pen 对象也公开属性(如 DashStyle),这些属性可用于指定直线的特性。 下面的示例绘制了一条从 (100, 50) 到 (300, 80) 的虚线:
myPen.DashStyle = DashStyle.Dash
myGraphics.DrawLine(myPen, 100, 50, 300, 80)
myPen.DashStyle = DashStyle.Dash;
myGraphics.DrawLine(myPen, 100, 50, 300, 80);
可以使用 Pen 对象的属性为直线设置更多特性。 StartCap 属性和 EndCap 属性指定直线端点的外观;端点可以是平的、方形的、圆形的、三角形的或自定义的形状。 LineJoin 属性用于指定连接的线相互间是斜接的(联接时形成锐角)、斜切的、圆形的还是截断的。 下面的插图显示了具有不同的线帽和联接类型的直线。
绘制矩形
用 GDI+ 绘制矩形与绘制直线类似。 若要绘制矩形,需要 Graphics 对象和 Pen 对象。 Graphics 对象提供 DrawRectangle 方法,Pen 对象存储特性(例如线宽和颜色)。 将 Pen 对象作为参数之一传递给 DrawRectangle 方法。 下面的示例绘制了一个矩形,其左上角位于 (100, 50),宽度为 80,高度为 40:
myGraphics.DrawRectangle(myPen, 100, 50, 80, 40)
myGraphics.DrawRectangle(myPen, 100, 50, 80, 40);
DrawRectangle 是 Graphics 类的一个重载方法,因此,有数种为其提供参数的方式。 例如,可构造 Rectangle 对象并将 Rectangle 对象作为参数传递给 DrawRectangle 方法:
Dim myRectangle As New Rectangle(100, 50, 80, 40)
myGraphics.DrawRectangle(myPen, myRectangle)
Rectangle myRectangle = new Rectangle(100, 50, 80, 40);
myGraphics.DrawRectangle(myPen, myRectangle);
Rectangle 对象具有用于处理和收集矩形相关信息的方法和属性。 例如,Inflate 和 Offset 方法可更改矩形的大小和位置。 IntersectsWith 方法判断矩形是否与另一给定矩形相交,Contains 方法判断一个给定点是否在该矩形内。