Freigeben über


Pinsel und gefüllte Formen in GDI+

Eine geschlossene Form, z. B. ein Rechteck oder eine Ellipse, besteht aus einer Kontur und einem Innenbereich. Die Kontur wird mit einem Stift gezeichnet, und das Innere wird mit einem Pinsel gefüllt. GDI+ bietet mehrere Pinselklassen zum Füllen des Innenbereichs geschlossener Formen: SolidBrush, HatchBrush, TextureBrush, LinearGradientBrush und PathGradientBrush. Alle diese Klassen erben von der Brush-Basisklasse. Die folgende Abbildung zeigt ein Rechteck, das mit einem Volltonpinsel gefüllt ist, und eine mit einem Schraffurpinsel gefüllte Ellipse.

Screenshot eines mit einem Volltonpinsel gefüllten Rechtecks und einer mit einem Kreuzschraffurpinsel gefüllten Ellipse

Volltonpinsel

Um eine geschlossene Form auszufüllen, benötigen Sie eine Instanz der Klasse Graphics und eine Brush. Die Instanz der Graphics-Klasse stellt Methoden wie FillRectangle und FillEllipsebereit, und die Brush speichert Attribute der Füllung, z. B. Farbe und Muster. Das Brush-Objekt wird als eins der Argumente an die fill-Methode übergeben. Das folgende Codebeispiel zeigt, wie Sie eine Ellipse mit einer vollroten Farbe füllen.

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)

Anmerkung

Im vorherigen Beispiel ist der Pinsel vom Typ SolidBrush, der von Brush erbt.

Schraffurpinsel

Wenn Sie eine Form mit einem Schraffurpinsel füllen, geben Sie eine Vordergrundfarbe, eine Hintergrundfarbe und eine Schraffurart an. Die Vordergrundfarbe ist die Farbe der Schraffur.

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

GDI+ bietet mehr als 50 Schraffurstile. Die in der folgenden Abbildung gezeigten drei Stile sind Horizontal, ForwardDiagonal und Cross.

Screenshot von drei Ellipsen, die mit einem horizontalen Kreuzschraffurpinsel, einem vorwärts diagonalen Kreuzschraffurpinsel und einem Kreuzschraffurpinsel gefüllt wurden

Strukturpinsel

Mit einem Texturpinsel können Sie eine Form mit einem Muster füllen, das in einer Bitmap gespeichert ist. Angenommen, die folgende Grafik wird in einer Datenträgerdatei mit dem Namen MyTexture.bmpgespeichert.

Screenshot der Datei „MyTexture.bmp“.

Das folgende Codebeispiel zeigt, wie Sie eine Ellipse ausfüllen, indem Sie das in MyTexture.bmpgespeicherte Bild wiederholen.

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)

Die folgende Abbildung zeigt die gefüllte Ellipse.

Screenshot einer Ellipse, die mit einem Texturpinsel gefüllt ist.

Farbverlaufspinsel

GDI+ bietet zwei Arten von Farbverlaufspinseln: linear und Pfad. Sie können einen linearen Farbverlaufpinsel verwenden, um eine Form mit Farbe zu füllen, die sich allmählich ändert, während Sie sich horizontal, vertikal oder diagonal über die Form bewegen. Das folgende Codebeispiel zeigt, wie Sie eine Ellipse mit einem horizontalen Farbverlaufpinsel füllen, der sich von Blau in Grün ändert, während Sie vom linken Rand der Ellipse zum rechten Rand wechseln.

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)

Die folgende Abbildung zeigt die gefüllte Ellipse.

Screenshot einer Ellipse, die mit einem horizontalen Farbverlaufpinsel gefüllt wurde.

Ein Pfad-Farbverlaufspinsel kann so konfiguriert werden, dass sich die Farbe ändert, während Sie sich vom Mittelpunkt einer Form in Richtung des Rands bewegen.

Screenshot einer Ellipse, die mit einem Pfadfarbverlaufspinsel gefüllt wurde.

Pfad-Farbverlaufspinsel sind sehr flexibel. Der Farbverlaufspinsel, der zum Füllen des Dreiecks in der folgenden Abbildung verwendet wird, ändert sich graduell von Rot in der Mitte in jede der drei anderen Farben bis zu den Scheitelpunkten.

Screenshot eines Dreiecks, das mit einem Pfadfarbverlaufspinsel gefüllt wurde.

Weitere Informationen