笔、线条和矩形

若要使用 Windows GDI+ 绘制线条,需要创建 Graphics 对象和 Pen 对象。 Graphics 对象提供实际绘制的方法,Pen 对象存储线条的属性,如颜色、宽度和样式。 绘制线条只需调用 Graphics 对象的 DrawLine 方法即可。 Pen 对象的地址作为参数之一传递给 DrawLine 方法。 以下示例从 (4、2) 点到 (12、6) 点绘制一条线。

myGraphics.DrawLine(&myPen, 4, 2, 12, 6);

DrawLineGraphics 类的重载方法,因此可通过多种方式为其提供参数。 例如,可以构造两个 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::SetStartCapPen::SetEndCap 方法指定线条两端的外观;两端可以是平面、方形、圆形、三角形或自定义形状。 使用 Pen::SetLineJoin 方法可以指定连接的线是斜接 (与尖角) 、斜角、圆角还是剪裁联接。 下图显示了具有各种帽和联接样式的线条。

显示圆角和圆角、圆角和斜角以及两个箭头样式的两条线的插图

使用 GDI+ 绘制矩形类似于绘制线条。 若要绘制矩形,需要 一个 Graphics 对象和一个 Pen 对象。 Graphics 对象提供 DrawRectangle 方法,Pen 对象存储线条宽度和颜色等属性。 Pen 对象的地址作为参数之一传递给 DrawRectangle 方法。 以下示例绘制一个矩形,其左上角为 (100,50) ,宽度为 80,高度为 40。

myGraphics.DrawRectangle(&myPen, 100, 50, 80, 40);

DrawRectangleGraphics 类的重载方法,因此可通过多种方式为其提供参数。 例如,可以构造 一个 Rect 对象,并将对 Rect 对象的引用作为参数传递给 DrawRectangle 方法。

Rect myRect(100, 50, 80, 40);
myGraphics.DrawRectangle(&myPen, myRect);

Rect 对象具有用于操作和收集有关矩形的信息的方法。 例如, InflateOffset 方法更改矩形的大小和位置。 Rect::IntersectsWith 方法告知矩形是否与另一个给定矩形相交,Contains 方法指示给定点是否位于矩形内。