次の方法で共有


開いた曲線と閉じた曲線

次の図は、開いた曲線と閉じた曲線の 2 本の曲線を示しています。

開いた曲線 (曲線) と閉じた曲線 (図形の輪郭) の図

閉じた曲線には内側があるため、ブラシで塗りつぶすことができます。 Windows GDI+ の Graphics クラスには、閉じた図形と曲線を塗りつぶす次のメソッドが用意されています。 FillRectangleFillEllipseFillPieFillPolygonFillClosedCurveGraphics::FillPathGraphics::FillRegion。 これらのメソッドのいずれかを呼び出すたびに、特定のブラシの種類 (SolidBrush、HatchBrushTextureBrushLinearGradientBrushPathGradientBrush) のアドレスを引数として渡す必要があります。

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 メソッドです。

テキストと開いた曲線と閉じた曲線を 2 回示す図。これらは 1 回目は空で、2 回目は塗りつぶされます