Partager via


Pinceaux et remplissage de formes dans GDI+

Une forme fermée, telle qu’un rectangle ou un ellipse, se compose d’un contour et d’un intérieur. Le contour est dessiné avec un stylet et l’intérieur est rempli d’un pinceau. GDI+ fournit plusieurs classes de pinceau pour remplir les intérieurs des formes fermées : SolidBrush, HatchBrush, TextureBrush, LinearGradientBrushet PathGradientBrush. Toutes ces classes héritent de la classe Brush. L’illustration suivante montre un rectangle rempli d’un pinceau solide et une ellipse remplie d’un pinceau à hachure.

Capture d’écran d’un rectangle rempli d’un pinceau solide et une ellipse remplie d’un pinceau à hachure.

Pinceaux solides

Pour remplir une forme fermée, vous avez besoin d’une instance de la classe Graphics et d’une Brush. L’instance de la classe Graphics fournit des méthodes, telles que FillRectangle et FillEllipse, et le Brush stocke les attributs du remplissage, tels que la couleur et le motif. Le Brush est passé en tant qu’argument à la méthode de remplissage. L’exemple de code suivant montre comment remplir un ellipse avec une couleur rouge unie.

SolidBrush mySolidBrush = new SolidBrush(Color.Red);
myGraphics.FillEllipse(mySolidBrush, 0, 0, 60, 40);
Dim mySolidBrush As New SolidBrush(Color.Red)
myGraphics.FillEllipse(mySolidBrush, 0, 0, 60, 40)

Remarque

Dans l’exemple précédent, le pinceau est de type SolidBrush, qui hérite de Brush.

Pinceaux à hachures

Lorsque vous remplissez une forme avec un pinceau à hachures, vous spécifiez une couleur de premier plan, une couleur d’arrière-plan et un style de hachures. La couleur de premier plan est la couleur du hachage.

HatchBrush myHatchBrush =
   new HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green);
Dim myHatchBrush As _
   New HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green)

GDI+ propose plus de 50 styles de hachures ; les trois styles montrés dans l’illustration suivante sont Horizontal, ForwardDiagonalet Cross.

Capture d’écran de trois ellipses remplies respectivement avec un pinceau à hachures horizontales, un pinceau à hachures diagonales ascendantes et un pinceau à hachures croisées.

Pinceaux de texture

Avec un pinceau de texture, vous pouvez remplir une forme avec un motif stocké dans une bitmap. Par exemple, supposons que l’image suivante soit stockée dans un fichier de disque nommé MyTexture.bmp.

Capture d’écran du fichier My Texture dot b m p.

L’exemple de code suivant montre comment remplir un ellipse en répétant l’image stockée dans MyTexture.bmp.

Image myImage = Image.FromFile("MyTexture.bmp");
TextureBrush myTextureBrush = new TextureBrush(myImage);
myGraphics.FillEllipse(myTextureBrush, 0, 0, 100, 50);
Dim myImage As Image = Image.FromFile("MyTexture.bmp")
Dim myTextureBrush As New TextureBrush(myImage)
myGraphics.FillEllipse(myTextureBrush, 0, 0, 100, 50)

L’illustration suivante montre l’ellipse remplie.

Capture d’écran d’un ellipse rempli d’un pinceau de texture.

Pinceaux à dégradé

GDI+ fournit deux types de pinceaux à dégradé : linéaire et de chemin d’accès. Vous pouvez utiliser un pinceau de dégradé linéaire pour remplir une forme avec une couleur qui change progressivement à mesure que vous parcourez la forme horizontalement, verticalement ou diagonalement. L’exemple de code suivant montre comment remplir un ellipse avec un pinceau de dégradé horizontal qui passe du bleu au vert lorsque vous passez du bord gauche de l’ellipse au bord droit.

LinearGradientBrush myLinearGradientBrush = new LinearGradientBrush(
   myRectangle,
   Color.Blue,
   Color.Green,
   LinearGradientMode.Horizontal);
myGraphics.FillEllipse(myLinearGradientBrush, myRectangle);
Dim myLinearGradientBrush As New LinearGradientBrush( _
   myRectangle, _
   Color.Blue, _
   Color.Green, _
   LinearGradientMode.Horizontal)
myGraphics.FillEllipse(myLinearGradientBrush, myRectangle)

L’illustration suivante montre l’ellipse remplie.

Capture d’écran d’un ellipse rempli d’un pinceau de dégradé horizontal.

Un pinceau à dégradé de chemin peut être configuré pour faire varier la couleur à mesure que l'on passe du centre d'une forme jusqu'à son bord.

Capture d’écran d’une ellipse remplie avec un pinceau à dégradé de chemin d’accès.

Les pinceaux à dégradé de chemin d’accès sont assez flexibles. Le pinceau dégradé utilisé pour remplir le triangle dans l’illustration suivante passe progressivement du rouge au centre à une couleur différente à chacun des sommets.

Capture d’écran d’un triangle rempli d’un pinceau à dégradé de chemin d’accès.

Voir aussi