Vorgehensweise: 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 gemäß dem Füllmodus (wechseln oder spiegeln) aus, der derzeit für den Pfad festgelegt ist. Wenn der Pfad geöffnete Figuren aufweist, wird der Pfad gefüllt, wie wenn diese Zahlen geschlossen wurden. GDI+ schließt eine Figur, indem eine gerade Linie von ihren Endpunkt bis zum Ausgangspunkt gezeichnet wird.

Beispiel

Im folgenden Beispiel wird ein Pfad erstellt, der eine offene Figur (einen Bogen) und eine geschlossene Figur (eine Ellipse) aufweist. Die FillPath-Methode füllt den Pfad gemäß dem Standardfüllmodus aus, also Alternate.

In der folgenden Abbildung ist das Ergebnis des Beispielcodes dargestellt. Beachten Sie, dass der Pfad gefüllt ist (entsprechend Alternate), so als ob die offene Figur durch eine gerade Linie von ihrem Endpunkt bis zum Ausgangspunkt geschlossen wurde.

Diagram that shows the output of the FillPath method

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

Kompilieren des Codes

Das obige Beispiel ist für die Verwendung in Windows Forms konzipiert und erfordert PaintEventArgse, einen Parameter des Paint-Ereignishandlers.

Siehe auch