打开和关闭曲线

下图显示了两条曲线:一条开放,一条闭合。

 (曲线) 的开放曲线的插图, (形状轮廓的闭合曲线)

闭合曲线具有内部区域,因此可以用画笔填充。 Windows GDI+ 中的 Graphics 类提供以下用于填充闭合图形和曲线的方法: FillRectangleFillEllipseFillPieFillPolygonFillClosedCurveGraphics::FillPathGraphics::FillRegion。 每当调用这些方法之一时,都必须将特定画笔类型之一的地址传递 (SolidBrushHatchBrushTextureBrushLinearGradientBrushPathGradientBrush) 作为参数。

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 方法绘制字符串中字符的内部。

两次显示文本和一条开放和闭合曲线的插图;第一次为空,第二次填充