次の方法で共有


方法 : 直線、曲線、および形状から図形を作成する

更新 : 2007 年 11 月

図形を作成するには、GraphicsPath を作成し、AddLineAddCurve などのメソッドを呼び出して、パスにプリミティブを追加します。

使用例

次のコード例では、図形を含むパスを作成します。

  • 1 番目の例では、1 つの図形から成るパスを作成します。この図形は、1 つの円弧から成ります。この円弧のスイープ角度は -180°であり、既定の座標系では、これは反時計回りに計測された角度です。

  • 2 番目の例では、2 つの図形から成るパスを作成します。最初の図形では、円弧の後に直線が続いています。2 番目の図形では、直線の後に曲線が続き、さらにその後に直線が続いています。最初の図形は開いたままで、2 番目の図形は閉じています。

Dim path As New GraphicsPath()
path.AddArc(175, 50, 50, 50, 0, -180)
e.Graphics.DrawPath(New Pen(Color.FromArgb(128, 255, 0, 0), 4), path)

GraphicsPath path = new GraphicsPath();
path.AddArc(175, 50, 50, 50, 0, -180);
e.Graphics.DrawPath(new Pen(Color.FromArgb(128, 255, 0, 0), 4), path);
' Create an array of points for the curve in the second figure.
Dim points As Point() = { _
   New Point(40, 60), _
   New Point(50, 70), _
   New Point(30, 90)}

Dim path As New GraphicsPath()

path.StartFigure() ' Start the first figure.
path.AddArc(175, 50, 50, 50, 0, -180)
path.AddLine(100, 0, 250, 20)
' First figure is not closed.

path.StartFigure() ' Start the second figure.
path.AddLine(50, 20, 5, 90)
path.AddCurve(points, 3)
path.AddLine(50, 150, 150, 180)
path.CloseFigure() ' Second figure is closed.
e.Graphics.DrawPath(New Pen(Color.FromArgb(255, 255, 0, 0), 2), path)

     // Create an array of points for the curve in the second figure.
     Point[] points = {
new Point(40, 60),
new Point(50, 70),
new Point(30, 90)};

     GraphicsPath path = new GraphicsPath();

     path.StartFigure(); // Start the first figure.
     path.AddArc(175, 50, 50, 50, 0, -180);
     path.AddLine(100, 0, 250, 20);
     // First figure is not closed.

     path.StartFigure(); // Start the second figure.
     path.AddLine(50, 20, 5, 90);
     path.AddCurve(points, 3);
     path.AddLine(50, 150, 150, 180);
     path.CloseFigure(); // Second figure is closed.

     e.Graphics.DrawPath(new Pen(Color.FromArgb(255, 255, 0, 0), 2), path);

コードのコンパイル方法

前の例は Windows フォームと一緒に使用することが想定されていて、Paint イベント ハンドラのパラメータである PaintEventArgs e が必要です。

参照

参照

GraphicsPath

その他の技術情報

パスの作成および描画

ペンを使用した直線と図形の描画