Gewusst wie: Ausfüllen offener Körper

Sie können einen Pfad ausfüllen, indem Sie ein GraphicsPath-Objekt an die FillPath-Methode übergeben. Die FillPath-Methode füllt den Pfad entsprechend dem Füllmodus (Alternate oder Winding) aus, der derzeit für den Pfad festgelegt ist. Falls der Pfad offene Körper enthält, wird er so ausgefüllt, als wären diese Körper geschlossen. In GDI+ wird ein Körper geschlossen, indem eine gerade Linie vom Endpunkt zum Anfangspunkt gezogen wird.

Beispiel

Im folgenden Beispiel wird ein Pfad erstellt, der aus einer offenen Figur (einem Bogen) und einer geschlossenen Figur (einer Ellipse) besteht. Die FillPath-Methode füllt den Pfad entsprechend dem Standardfüllmodus, der Alternate lautet.

Die folgende Abbildung zeigt die Ausgabe des Beispielcodes. Beachten Sie, dass der Pfad (entsprechend dem Füllmodus Alternate) so ausgefüllt wird, als wäre der offene Körper durch eine gerade Linie zwischen ihrem Endpunkt und ihrem Anfangspunkt geschlossen.

Offenen Pfad ausfüllen

        Dim path As New GraphicsPath()

        ' Add an open figure.
        path.AddArc(0, 0, 150, 120, 30, 120)

        ' Add an intrinsically closed figure.
        path.AddEllipse(50, 50, 50, 100)

        Dim pen As New Pen(Color.FromArgb(128, 0, 0, 255), 5)
        Dim brush As New SolidBrush(Color.Red)

        ' The fill mode is FillMode.Alternate by default.
        e.Graphics.FillPath(brush, path)
        e.Graphics.DrawPath(pen, path)

GraphicsPath path = new GraphicsPath();

// Add an open figure.
path.AddArc(0, 0, 150, 120, 30, 120);

// Add an intrinsically closed figure.
path.AddEllipse(50, 50, 50, 100);

Pen pen = new Pen(Color.FromArgb(128, 0, 0, 255), 5);
SolidBrush brush = new SolidBrush(Color.Red);

// The fill mode is FillMode.Alternate by default.
e.Graphics.FillPath(brush, path);
e.Graphics.DrawPath(pen, path);

Kompilieren des Codes

Das vorhergehende Beispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgs e, einen Parameter des Paint-Ereignishandlers.

Siehe auch

Referenz

GraphicsPath

Konzepte

Grafikpfade in GDI+