開いた曲線と閉じた曲線
次の図は、開いた曲線と閉じた曲線の 2 本の曲線を示しています。
閉じた曲線には内側があるため、ブラシで塗りつぶすことができます。 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 メソッドによってアウトライン表示されますが、塗りつぶされないことに注意してください。 文字列内の文字の内部を描画するのは Graphics::FillPath メソッドです。