次の方法で共有


GraphicsPath.StartFigure メソッド

現在の図形を閉じずに、新しい図形を開始します。それ以降パスに追加されたすべての点は、この新しい図形に追加されます。

Public Sub StartFigure()
[C#]
public void StartFigure();
[C++]
public: void StartFigure();
[JScript]
public function StartFigure();

解説

必要に応じて、元の点を維持する必要があります。元の点は内部で 3 次ベジエ制御点に変換されるため、元の点を返す機構はありません。

このメソッドは、パスの中で新しいサブパスを開始します。サブパスを使用すると、パスを部分に区切り、 GraphicsPathIterator クラスを使用してサブパスを反復できます。

使用例

[Visual Basic, C#] 次の例は、Windows フォームでの使用を意図してデザインされており、 OnPaint イベントのオブジェクトである PaintEventArgs e が必要です。このコードは次のアクションを実行します。

  • パスを作成します。
  • 2 セットの図形を追加します。最初のセットでは、4 つのプリミティブが 2 つの図形に結合されます。2 番目のセットでは、(y 軸がオフセットされることを除いて) 同じ 4 つのプリミティブが 3 つの図形に結合されます。
  • 画面にすべての図形を描画します。

[Visual Basic, C#] 2 つのセットの表示の違いに注目してください。

 
Public Sub StartFigureExample(e As PaintEventArgs)
' Create a GraphicsPath object.
Dim myPath As New GraphicsPath()
' First set of figures.
myPath.StartFigure()
myPath.AddArc(10, 10, 50, 50, 0, 270)
myPath.AddLine(New Point(50, 0), New Point(100, 50))
myPath.AddArc(50, 100, 75, 75, 0, 270)
myPath.CloseFigure()
myPath.StartFigure()
myPath.AddArc(100, 10, 50, 50, 0, 270)
' Second set of figures.
myPath.StartFigure()
myPath.AddArc(10, 200, 50, 50, 0, 270)
myPath.CloseFigure()
myPath.StartFigure()
myPath.AddLine(New Point(60, 200), New Point(110, 250))
myPath.AddArc(50, 300, 75, 75, 0, 270)
myPath.CloseFigure()
myPath.StartFigure()
myPath.AddArc(100, 200, 50, 50, 0, 270)
' Draw the path to the screen.
e.Graphics.DrawPath(New Pen(Color.Black), myPath)
End Sub
        
[C#] 
public void StartFigureExample(PaintEventArgs e)
{
// Create a GraphicsPath object.
GraphicsPath myPath = new GraphicsPath();
// First set of figures.
myPath.StartFigure();
myPath.AddArc(10, 10, 50, 50, 0, 270);
myPath.AddLine(new Point(50, 0), new Point(100, 50));
myPath.AddArc(50, 100, 75, 75, 0, 270);
myPath.CloseFigure();
myPath.StartFigure();
myPath.AddArc(100, 10, 50, 50, 0, 270);
// Second set of figures.
myPath.StartFigure();
myPath.AddArc(10, 200, 50, 50, 0, 270);
myPath.CloseFigure();
myPath.StartFigure();
myPath.AddLine(new Point(60, 200), new Point(110, 250));
myPath.AddArc(50, 300, 75, 75, 0, 270);
myPath.CloseFigure();
myPath.StartFigure();
myPath.AddArc(100, 200, 50, 50, 0, 270);
// Draw the path to the screen.
e.Graphics.DrawPath(new Pen(Color.Black), myPath);
} // End StartFigureExample
        

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

GraphicsPath クラス | GraphicsPath メンバ | System.Drawing.Drawing2D 名前空間