若要使用 Windows GDI+ 绘制线条,需要创建 图形 对象和 Pen 对象。 Graphics 对象提供了实际执行绘图的方法,Pen 对象存储线条的属性,如颜色、宽度和样式。 绘制线条只是调用 Graphics 对象的 DrawLine 方法的问题。 Pen 对象的地址作为参数之一传递给 DrawLine 方法。 以下示例从点(4,2)到点(12,6)绘制一条线。
myGraphics.DrawLine(&myPen, 4, 2, 12, 6);
DrawLine 是 Graphics 类的重载方法,因此可通过多种方式提供参数。 例如,可以构造两个 Point 对象,并将对 Point 对象的引用作为参数传递给 DrawLine 方法。
Point myStartPoint(4, 2);
Point myEndPoint(12, 6);
myGraphics.DrawLine(&myPen, myStartPoint, myEndPoint);
构造 Pen 对象时,可以指定某些属性。 例如,一个 Pen 构造函数允许指定颜色和宽度。 以下示例绘制宽度为 2 的蓝色线条,从 (0, 0) 到 (60, 30)。
Pen myPen(Color(255, 0, 0, 255), 2);
myGraphics.DrawLine(&myPen, 0, 0, 60, 30);
Pen 对象还具有可用于指定线条特征的属性,如短划线样式。 例如,以下示例绘制从 (100, 50) 到 (300, 80) 的虚线。
myPen.SetDashStyle(DashStyleDash);
myGraphics.DrawLine(&myPen, 100, 50, 300, 80);
可以使用 Pen 对象的各种方法设置行的更多属性。 Pen::SetStartCap 和 Pen::SetEndCap 方法指定行尾的外观;端可以是平面、正方形、圆角、三角或自定义形状。 Pen::SetLineJoin 方法允许你指定连接线是倾斜的(与尖角联接)、斜面、圆角还是剪裁。 下图显示了具有各种上限和联接样式的线条。
使用 GDI+ 绘制矩形类似于绘制线条。 若要绘制矩形,需要一个 图形 对象和 Pen 对象。 图形 对象提供 DrawRectangle 方法,Pen 对象存储线条宽度和颜色等属性。 Pen 对象的地址作为参数之一传递给 DrawRectangle 方法。 以下示例绘制一个矩形,其左上角为 (100, 50),宽度为 80,高度为 40。
myGraphics.DrawRectangle(&myPen, 100, 50, 80, 40);
DrawRectangle 是 Graphics 类的重载方法,因此可通过多种方式提供参数。 例如,可以构造 Rect 对象,并将对 Rect 对象的引用作为 DrawRectangle 方法的参数传递。
Rect myRect(100, 50, 80, 40);
myGraphics.DrawRectangle(&myPen, myRect);
Rect 对象具有作和收集有关矩形的信息的方法。 例如,膨胀 和 Offset 方法更改矩形的大小和位置。 Rect::IntersectsWith 方法告知矩形是否与另一个给定矩形相交,Contains 方法告知给定点是否位于矩形内。