Gewusst wie: Erstellen von Figuren aus Linien, Kurven und Formen

Aktualisiert: November 2007

Um eine Figur zu erstellen, legen Sie zunächst einen GraphicsPath an und fügen dem Pfad anschließend durch Aufrufen von Methoden, wie z. B. AddLine oder AddCurve, Grundelemente hinzu.

Beispiel

Die folgenden Codebeispiele erstellen Pfade, die Figuren enthalten:

  • Im ersten Beispiel wird ein Pfad erstellt, der eine einzelne Figur enthält. Die Figur besteht aus einem einzelnen Bogen. Der Bogen hat einen Krümmungswinkel von -180 Grad, d. h., im Standardkoordinatensystem verläuft er entgegen dem Uhrzeigersinn.

  • Im zweiten Beispiel wird ein Pfad erstellt, der aus zwei Figuren besteht. Die erste Figur ist ein Bogen, auf den eine Linie folgt. Die zweite Figur besteht aus einer Linie, auf die eine Kurve und eine weitere Linie folgt. Die erste Figur wird offen gelassen, und die zweite ist geschlossen.

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);

Kompilieren des Codes

Die vorangehenden Beispiele sind für die Verwendung mit Windows Forms konzipiert und erfordern PaintEventArgs e, wobei es sich um einen Parameter des Paint-Ereignishandlers handelt.

Siehe auch

Referenz

GraphicsPath

Weitere Ressourcen

Erstellen und Zeichnen von Pfaden

Verwenden eines Stiftes zum Zeichnen von Linien und Formen