Gewusst wie: Ausfüllen einer Form mit einer Bildstruktur
Sie können eine geschlossene Form mit einer Struktur ausfüllen, indem Sie die Image-Klasse und die TextureBrush-Klasse verwenden.
Beispiel
Im folgenden Beispiel wird eine Ellipse mit einem Bild ausgefüllt. Im Code wird ein Image-Objekt erstellt und dann die Adresse dieses Image-Objekts als Argument an einen TextureBrush-Konstruktor übergeben. Durch die dritte Anweisung wird das Bild skaliert, und durch die vierte Anweisung wird die Ellipse mit aufeinander folgenden Kopien des skalierten Bildes ausgefüllt.
Im folgenden Code enthält die Transform-Eigenschaft die Transformation, die vor dem Zeichnen auf das Bild angewendet wird. Angenommen, das ursprüngliche Bild hat eine Breite von 640 Pixeln und eine Höhe von 480 Pixeln. Durch die Transformation wird das Bild auf 75 × 75 Pixel verkleinert, indem horizontale und vertikale Skalierungswerte festgelegt werden.
Tipp
Im folgenden Beispiel ist die Größe des Bildes 75 × 75 und die der Ellipse 150 × 250. Da das Bild kleiner als die Ellipse ist, die es ausfüllt, wird die Ellipse mit dem Bild gekachelt. Kacheln bedeutet, dass das Bild so oft horizontal und vertikal wiederholt wird, bis die Begrenzung der Form erreicht ist. Weitere Informationen über das Kacheln finden Sie unter Gewusst wie: Kacheln einer Form mit einem Bild.
Dim image As New Bitmap("ImageFile.jpg")
Dim tBrush As New TextureBrush(image)
tBrush.Transform = New Matrix( _
75.0F / 640.0F, _
0.0F, _
0.0F, _
75.0F / 480.0F, _
0.0F, _
0.0F)
e.Graphics.FillEllipse(tBrush, New Rectangle(0, 150, 150, 250))
Image image = new Bitmap("ImageFile.jpg");
TextureBrush tBrush = new TextureBrush(image);
tBrush.Transform = new Matrix(
75.0f / 640.0f,
0.0f,
0.0f,
75.0f / 480.0f,
0.0f,
0.0f);
e.Graphics.FillEllipse(tBrush, new Rectangle(0, 150, 150, 250));
Kompilieren des Codes
Das vorhergehende Beispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgs e, einen Parameter des Paint-Ereignishandlers.