打开和关闭曲线
下图显示了两条曲线:一条开放,一条闭合。
闭合曲线具有内部区域,因此可以用画笔填充。 Windows GDI+ 中的 Graphics 类提供以下用于填充闭合图形和曲线的方法: FillRectangle、 FillEllipse、 FillPie、 FillPolygon、 FillClosedCurve、 Graphics::FillPath 和 Graphics::FillRegion。 每当调用这些方法之一时,都必须将特定画笔类型之一的地址传递 (SolidBrush、 HatchBrush、 TextureBrush、 LinearGradientBrush 或 PathGradientBrush) 作为参数。
FillPie 方法是 DrawArc 方法的配套方法。 正如 DrawArc 方法绘制椭圆轮廓的一部分一样,FillPie 方法填充椭圆内部的一部分。 以下示例绘制一个弧线并填充椭圆内部的相应部分。
myGraphics.FillPie(&mySolidBrush, 0, 0, 140, 70, 0, 120);
myGraphics.DrawArc(&myPen, 0, 0, 140, 70, 0, 120);
下图显示了弧线和填充的扇形图。
FillClosedCurve 方法是 DrawClosedCurve 方法的配套方法。 这两种方法都通过将终点连接到起点来自动闭合曲线。 以下示例绘制一条穿过 (0, 0)、(60, 20) 和 (40, 50) 的曲线。 然后,通过将 (40, 50) 连接到起点 (0, 0) 来自动闭合曲线,并用纯色填充内部。
Point myPointArray[] =
{Point(10, 10), Point(60, 20),Point(40, 50)};
myGraphics.DrawClosedCurve(&myPen, myPointArray, 3);
myGraphics.FillClosedCurve(&mySolidBrush, myPointArray, 3, FillModeAlternate)
路径可以包含多个数字 (子路径) 。 Graphics::FillPath 方法填充每个图形的内部。 如果图形未闭合, 则 Graphics::FillPath 方法将填充关闭图形时将封闭的区域。 以下示例绘制并填充由弧线、基数样条、字符串和饼图组成的路径。
myGraphics.FillPath(&mySolidBrush, &myGraphicsPath);
myGraphics.DrawPath(&myPen, &myGraphicsPath);
下图显示了用实心画笔填充之前和之后的路径。 请注意,字符串中的文本由 Graphics::D rawPath 方法分级显示,但未填充。 图形 ::FillPath 方法绘制字符串中字符的内部。