Du kannst eine Fläche auch mit einem Bild ausfüllen. Zu diesem Zweck ersetzt du den zuletzt verwendeten Pinsel durch einen Pinsel der Art TextureBrush.
Ein TextureBrush verwendet ein Bild zum Ausmalen einer Region. In dem folgenden Beispiel verwendest du eines der Bilder, die du in einem Programm als Hilfsmittel (Resource) gespeichert hast.
int hoehe = rechteck.Height; int breite = rechteck.Width; int mittelpunktX = breite / 2; int mittelpunktY = hoehe / 2; int radius = (hoehe < breite ? hoehe : breite) / 2 - 10; Rectangle bereich = new Rectangle(mittelpunktX - radius, mittelpunktY - radius, 2*radius, 2*radius); // Zugreifen auf eine Bilddatei, die dem // Programm als Hilfsmittel beigegeben ist: Image bild = Properties.Resources.Konfetti; using (TextureBrush pinsel = new TextureBrush(bild)) { g.FillEllipse(pinsel, bereich); }
Das Programmstück zeichnet einen Kreis, den es mit einem Muster ausfüllt. Um die ganze Kreisfläche auszufüllen, wird das Muster so oft als nötig wiederholt.
In deinem Projekt hast du noch weitere Tapeten zur Verwendung bereitgestellt:
Properties.Resources.Kaese; Properties.Resources.Mauer; Properties.Resources.Kacheln;
Die solltest du alle ausprobieren, um ein Gefühl dafür zu bekommen, wie Tapeten wirken.
Jedes dieser Bilder ist so entworfen, dass es bruchlos aneinandergelegt werden kann, um eine Figur auszupflastern. Bei den Badezimmerkacheln ist noch recht einfach zu sehen warum das funktioniert, aber das Bild Konfetti ist ein echtes Kunstwerk.
Wenn du Lust hast, kannst du deinem Programm auch ein Passfoto von dir als weiteres Hilfsmittel hinzufügen und dann Kreise und Rechtecke mit deinem Bild ausmalen - ist vielleicht ganz lustig.
Wenn du diesen Kurs bis hierher durchgearbeitet hast, ohne eine Seite zu überschlagen, kannst du jetzt sagen, alle Pinsel zu kennen, die dir für das Ausmalen einer Figur zur Verfügung stehen.
Fassen wir zusammen:
Brush-Klasse | Verwendung |
SolidBrush | Füllt eine Region mit einer deckenden oder mit einer durchscheinenden Farbe aus |
HatchBrush | Füllt eine Region mit einer Schraffur aus |
TextureBrush | Füllt eine Region mit einer Tapete aus |
LinearGradientBrush | Füllt eine Region mit einem deckenden oder mit einem durchscheinenden linearen Farbverlauf aus |
PathGradientBrush | Füllt eine Region mit einem deckenden oder mit einem durchscheinenden radialen Farbverlauf aus |