Courbes ouvertes et fermées

L’illustration suivante montre deux courbes : une ouverte et une fermée.

illustration d’une courbe ouverte (trait courbe) et d’une courbe fermée (le contour d’une forme)

Les courbes fermées ont un intérieur et peuvent donc être remplies avec un pinceau. La classe Graphics de Windows GDI+ fournit les méthodes suivantes pour remplir des figures et des courbes fermées : FillRectangle, FillEllipse, FillPie, FillPolygon, FillClosedCurve, Graphics::FillPath et Graphics::FillRegion. Chaque fois que vous appelez l’une de ces méthodes, vous devez passer l’adresse de l’un des types de pinceau spécifiques (SolidBrush, HatchBrush, TextureBrush, LinearGradientBrush ou PathGradientBrush) comme argument.

La méthode FillPie est un complément de la méthode DrawArc . Tout comme la méthode DrawArc dessine une partie du contour d’une ellipse, la méthode FillPie remplit une partie de l’intérieur d’une ellipse. L’exemple suivant dessine un arc et remplit la partie correspondante de l’intérieur de l’ellipse.

myGraphics.FillPie(&mySolidBrush, 0, 0, 140, 70, 0, 120);
myGraphics.DrawArc(&myPen, 0, 0, 140, 70, 0, 120);

L’illustration suivante montre l’arc et le secteur rempli.

illustration montrant un segment d’une ellipse remplie

La méthode FillClosedCurve est un complément de la méthode DrawClosedCurve . Les deux méthodes ferment automatiquement la courbe en connectant le point de fin au point de départ. L’exemple suivant dessine une courbe qui traverse (0, 0), (60, 20) et (40, 50). Ensuite, la courbe est automatiquement fermée en se connectant (40, 50) au point de départ (0, 0), et l’intérieur est rempli d’une couleur unie.

Point myPointArray[] =
   {Point(10, 10), Point(60, 20),Point(40, 50)};
myGraphics.DrawClosedCurve(&myPen, myPointArray, 3);
myGraphics.FillClosedCurve(&mySolidBrush, myPointArray, 3, FillModeAlternate)

Un chemin peut se composer de plusieurs figures (sous-chemins). La méthode Graphics::FillPath remplit l’intérieur de chaque figure. Si une figure n’est pas fermée, la méthode Graphics::FillPath remplit la zone qui serait fermée si la figure était fermée. L’exemple suivant dessine et remplit un chemin qui se compose d’un arc, d’une spline cardinale, d’une chaîne et d’une tarte.

myGraphics.FillPath(&mySolidBrush, &myGraphicsPath);
myGraphics.DrawPath(&myPen, &myGraphicsPath);

L’illustration suivante montre le chemin d’accès avant et après qu’il soit rempli d’un pinceau uni. Notez que le texte de la chaîne est tracé, mais pas rempli, par la méthode Graphics::D rawPath . Il s’agit de la méthode Graphics::FillPath qui peint l’intérieur des caractères dans la chaîne.

illustration qui montre deux fois du texte et une courbe ouverte et une courbe fermée; ils sont vides la première fois et remplis la deuxième fois