Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Pfade werden gebildet, indem Linien, Rechtecke und einfache Kurven kombiniert werden. Wie in der Übersicht über Vektorgrafiken erläutert, sind die folgenden grundlegenden Bausteine am nützlichsten zum Zeichnen von Bildern:
Linien
Rechtecke
Ellipsen
Bögen
Polygone
Kardinale Splines
Bézier splines
In GDI+ können Sie mit dem GraphicsPath Objekt eine Abfolge dieser Bausteine in einer einzelnen Einheit sammeln. Die gesamte Abfolge von Linien, Rechtecke, Polygonen und Kurven kann dann mit einem Aufruf der DrawPath Methode der Graphics Klasse gezeichnet werden. Die folgende Abbildung zeigt einen Pfad, der erstellt wird, indem eine Linie, ein Bogen, eine Bézier-Spline und eine Kardinalspline kombiniert werden.
Verwenden eines Pfads
Die GraphicsPath Klasse stellt die folgenden Methoden zum Erstellen einer Abfolge von zu zeichnenden Elementen bereit: AddLine, , AddRectangle, AddEllipse, AddArc, , , AddPolygon( AddCurve für Kardinalsplines) und AddBezier. Jede dieser Methoden wird überladen; d. h., jede Methode unterstützt mehrere verschiedene Parameterlisten. Eine Variation der AddLine Methode empfängt beispielsweise vier ganze Zahlen, und eine andere Variante der AddLine Methode empfängt zwei Point Objekte.
Die Methoden zum Hinzufügen von Linien, Rechtecke und Bézier-Splines zu einem Pfad weisen plurale Begleitmethoden auf, die dem Pfad in einem einzigen Aufruf mehrere Elemente hinzufügen: AddLines, , AddRectanglesund AddBeziers. Außerdem haben die AddCurve- und AddArc-Methoden Begleitmethoden AddClosedCurve und AddPie, die dem Pfad eine geschlossene Kurve oder ein Kuchenstück hinzufügen.
Zum Zeichnen eines Pfads benötigen Sie ein Graphics Objekt, ein Pen Objekt und ein GraphicsPath Objekt. Das Graphics Objekt stellt die DrawPath Methode bereit, und das Pen Objekt speichert Attribute, z. B. Breite und Farbe, der Linie, die zum Rendern des Pfads verwendet wird. Das GraphicsPath Objekt speichert die Abfolge von Linien und Kurven, die den Pfad bilden. Das Pen Objekt und das GraphicsPath Objekt werden als Argumente an die DrawPath Methode übergeben. Das folgende Beispiel zeichnet einen Pfad, der aus einer Linie, einer Ellipse und einer Bézier-Spline besteht:
myGraphicsPath.AddLine(0, 0, 30, 20);
myGraphicsPath.AddEllipse(20, 20, 20, 40);
myGraphicsPath.AddBezier(30, 60, 70, 60, 50, 30, 100, 10);
myGraphics.DrawPath(myPen, myGraphicsPath);
myGraphicsPath.AddLine(0, 0, 30, 20)
myGraphicsPath.AddEllipse(20, 20, 20, 40)
myGraphicsPath.AddBezier(30, 60, 70, 60, 50, 30, 100, 10)
myGraphics.DrawPath(myPen, myGraphicsPath)
Die folgende Abbildung zeigt den Pfad.
Zusätzlich zum Hinzufügen von Linien, Rechtecke und Kurven zu einem Pfad können Sie Pfade zu einem Pfad hinzufügen. Auf diese Weise können Sie vorhandene Pfade kombinieren, um große, komplexe Pfade zu bilden.
myGraphicsPath.AddPath(graphicsPath1, false);
myGraphicsPath.AddPath(graphicsPath2, false);
myGraphicsPath.AddPath(graphicsPath1, False)
myGraphicsPath.AddPath(graphicsPath2, False)
Es gibt zwei weitere Elemente, die Sie einem Pfad hinzufügen können: Strings und Tortendiagramme. Ein Tortenstück ist ein Teil des Inneren einer Ellipse. Im folgenden Beispiel wird ein Pfad aus einem Bogen, einer Kardinalspline, einer Zeichenfolge und einem Kreis erstellt:
GraphicsPath myGraphicsPath = new GraphicsPath();
Point[] myPointArray =
{
new Point(5, 30),
new Point(20, 40),
new Point(50, 30)
};
FontFamily myFontFamily = new FontFamily("Times New Roman");
PointF myPointF = new PointF(50, 20);
StringFormat myStringFormat = new StringFormat();
myGraphicsPath.AddArc(0, 0, 30, 20, -90, 180);
myGraphicsPath.StartFigure();
myGraphicsPath.AddCurve(myPointArray);
myGraphicsPath.AddString("a string in a path", myFontFamily,
0, 24, myPointF, myStringFormat);
myGraphicsPath.AddPie(230, 10, 40, 40, 40, 110);
myGraphics.DrawPath(myPen, myGraphicsPath);
Dim myGraphicsPath As New GraphicsPath()
Dim myPointArray As Point() = { _
New Point(5, 30), _
New Point(20, 40), _
New Point(50, 30)}
Dim myFontFamily As New FontFamily("Times New Roman")
Dim myPointF As New PointF(50, 20)
Dim myStringFormat As New StringFormat()
myGraphicsPath.AddArc(0, 0, 30, 20, -90, 180)
myGraphicsPath.StartFigure()
myGraphicsPath.AddCurve(myPointArray)
myGraphicsPath.AddString("a string in a path", myFontFamily, _
0, 24, myPointF, myStringFormat)
myGraphicsPath.AddPie(230, 10, 40, 40, 40, 110)
myGraphics.DrawPath(myPen, myGraphicsPath)
Die folgende Abbildung zeigt den Pfad. Beachten Sie, dass ein Pfad nicht verbunden sein muss; der Bogen, die Kardinalspline, der Strich und das Kreissegment sind getrennt.
Siehe auch
.NET Desktop feedback