Freigeben über


So geht's: Eine Linie mit einer Textur füllen

Anstatt eine Linie mit einer Volltonfarbe zu zeichnen, können Sie eine Linie mit einer Textur zeichnen. Um Linien und Kurven mit einer Textur zu zeichnen, erstellen Sie ein TextureBrush-Objekt, und übergeben Sie dieses TextureBrush Objekt an einen Pen-Konstruktor. Die Bitmap, die mit dem Texturpinsel verknüpft ist, wird verwendet, um die Fläche unsichtbar zu kacheln. Wenn der Stift eine Linie oder Kurve zeichnet, legt der Strich des Stifts bestimmte Pixel der gekachelten Textur frei.

Beispiel

Im folgenden Beispiel wird ein Bitmap-Objekt aus der Datei Texture1.jpgerstellt. Diese Bitmap wird verwendet, um ein TextureBrush-Objekt zu erstellen, und das TextureBrush-Objekt wird verwendet, um ein Pen-Objekt zu erstellen. Der Aufruf von DrawImage zeichnet die Bitmap mit der oberen linken Ecke an der Position (0, 0). Der Aufruf von DrawEllipse verwendet das Pen-Objekt, um eine Ellipse mit Textur zu zeichnen.

Die folgende Abbildung zeigt die Bitmap und die texturierte Ellipse:

Screenshot, der die Bitmap und die texturierte Ellipse zeigt.

Bitmap bitmap = new Bitmap("Texture1.jpg");
TextureBrush tBrush = new TextureBrush(bitmap);
Pen texturedPen = new Pen(tBrush, 30);

e.Graphics.DrawImage(bitmap, 0, 0, bitmap.Width, bitmap.Height);
e.Graphics.DrawEllipse(texturedPen, 100, 20, 200, 100);
Dim bitmap As New Bitmap("Texture1.jpg")
Dim tBrush As New TextureBrush(bitmap)
Dim texturedPen As New Pen(tBrush, 30)

e.Graphics.DrawImage(bitmap, 0, 0, bitmap.Width, bitmap.Height)
e.Graphics.DrawEllipse(texturedPen, 100, 20, 200, 100)

Kompilieren des Codes

Erstellen Sie ein Windows-Formular, und behandeln Sie das Paint-Ereignis des Formulars. Fügen Sie den vorherigen Code in den Ereignishandler Paint ein. Ersetzen Sie Texture.jpg durch ein auf Ihrem System gültiges Bild.

Siehe auch