Offene und geschlossene Kurven
Die folgende Abbildung zeigt zwei Kurven: eine geöffnete und eine geschlossene.
Geschlossene Kurven haben einen Innenbereich und können daher mit einem Pinsel gefüllt werden. Die Graphics-Klasse in Windows GDI+ bietet die folgenden Methoden zum Ausfüllen geschlossener Abbildungen und Kurven: FillRectangle, FillEllipse, FillPie, FillPolygon, FillClosedCurve, Graphics::FillPath, und Graphics::FillRegion. Wenn Sie eine dieser Methoden aufrufen, müssen Sie die Adresse eines der spezifischen Pinseltypen übergeben (SolidBrush, HatchBrush, TextureBrush, LinearGradientBrushoder PathGradientBrush) als Argument.
Die FillPie--Methode ist ein Begleiter der DrawArc--Methode. Genau wie die DrawArc-Methode einen Teil der Kontur einer Ellipse zeichnet, füllt die FillPie-Methode einen Teil des Inneren einer Ellipse aus. Das folgende Beispiel zeichnet einen Bogen und füllt den entsprechenden Teil des Inneren der Ellipse.
myGraphics.FillPie(&mySolidBrush, 0, 0, 140, 70, 0, 120);
myGraphics.DrawArc(&myPen, 0, 0, 140, 70, 0, 120);
Die folgende Abbildung zeigt den Bogen und den gefüllten Kreis.
Die FillClosedCurve--Methode ist ein Begleiter der DrawClosedCurve-Methode. Beide Methoden schließen die Kurve automatisch, indem der Endpunkt mit dem Ausgangspunkt verbunden wird. Das folgende Beispiel zeichnet eine Kurve, die durchläuft (0, 0), (60, 20) und (40, 50). Dann wird die Kurve automatisch geschlossen, indem sie (40, 50) mit dem Ausgangspunkt (0, 0) verbindet und das Innere mit einer Volltonfarbe gefüllt wird.
Point myPointArray[] =
{Point(10, 10), Point(60, 20),Point(40, 50)};
myGraphics.DrawClosedCurve(&myPen, myPointArray, 3);
myGraphics.FillClosedCurve(&mySolidBrush, myPointArray, 3, FillModeAlternate)
Ein Pfad kann aus mehreren Abbildungen (Unterpfade) bestehen. Die Graphics::FillPath-Methode füllt das Innere jeder Abbildung. Wenn eine Abbildung nicht geschlossen ist, füllt die Graphics::FillPath--Methode den Bereich aus, der eingeschlossen würde, wenn die Abbildung geschlossen wurde. Das folgende Beispiel zeichnet und füllt einen Pfad, der aus einem Bogen, einer Kardinalspline, einer Zeichenfolge und einem Kreis besteht.
myGraphics.FillPath(&mySolidBrush, &myGraphicsPath);
myGraphics.DrawPath(&myPen, &myGraphicsPath);
Die folgende Abbildung zeigt den Pfad vor und nach dem Ausfüllen mit einem vollfarbigen Pinsel. Beachten Sie, dass der Text in der Zeichenfolge durch die Graphics::D rawPath--Methode umrissen, jedoch nicht ausgefüllt ist. Es ist die Graphics::FillPath-Methode, die die Innenräume der Zeichen in der Zeichenfolge zeichnet.