Freigeben über


Geöffnete und geschlossene Kurven

Die folgende Abbildung zeigt zwei Kurven: eine offene und eine geschlossene.

Abbildung einer offenen Kurve (einer gekrümmten Linie) und einer geschlossenen Kurve (der Kontur einer Form)

Geschlossene Kurven verfügen über einen Innenbereich und können daher mit einem Pinsel gefüllt werden. Die Graphics-Klasse in Windows GDI+ bietet die folgenden Methoden zum Fü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 (SolidBrush, HatchBrush, TextureBrush, LinearGradientBrush oder PathGradientBrush) als Argument übergeben.

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 aus.

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 ausgefüllten Bereich.

Abbildung, die ein Segment einer gefüllten Ellipse zeigt

Die FillClosedCurve-Methode ist ein Begleiter zur DrawClosedCurve-Methode . Beide Methoden schließen die Kurve automatisch, indem sie den Endpunkt mit dem Startpunkt verbinden. Im folgenden Beispiel wird eine Kurve gezeichnet, die durch die Punkte (0, 0), (60, 20) und (40, 50) verläuft. Anschließend wird die Kurve automatisch geschlossen, indem der Punkt (40, 50) mit dem Startpunkt (0, 0) verbunden wird, und der Innenbereich wird mit einer Volltonfarbe gefüllt.

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 (Unterpfaden) bestehen. Die Graphics::FillPath-Methode füllt das Innere jeder Abbildung aus. Wenn eine Abbildung nicht geschlossen wird, füllt die Graphics::FillPath-Methode den Bereich aus, der beim Schließen der Abbildung eingeschlossen würde. Das folgende Beispiel zeichnet und füllt einen Pfad aus, der aus einem Bogen, einem 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 Auffüllen mit einem vollfarbigen Pinsel. Beachten Sie, dass der Text in der Zeichenfolge von der Graphics::D rawPath-Methode umrissen, aber nicht gefüllt wird. Es ist die Graphics::FillPath-Methode , die die Innenelemente der Zeichen in der Zeichenfolge zeichnet.

Abbildung, die zweimal Text und eine offene und eine geschlossene Kurve zeigt; diese sind beim ersten Mal leer und beim zweiten Mal ausgefüllt.