Gewusst wie: Kacheln einer Form mit einem Bild

Aktualisiert: November 2007

Genauso wie ein Fußboden mit nebeneinander liegenden Fliesen gekachelt sein kann, kann eine Form durch nebeneinander liegende rechteckige Bilder ausgefüllt ("gekachelt") werden. Um das Innere einer Form zu kacheln, verwenden Sie einen Strukturpinsel. Wenn Sie ein TextureBrush-Objekt erstellen, ist eines der an den Konstruktor übergebenen Argumente ein Image-Objekt. Wenn Sie das Innere einer Form mit dem Strukturpinsel zeichnen, wird die Form mit wiederholten Kopien dieses Bildes ausgefüllt.

Durch die Umbruchmoduseigenschaft des TextureBrush-Objekts wird bestimmt, mit welcher Ausrichtung ein Bild in einem rechteckigen Raster wiederholt wird. Alle Kacheln im Raster können entweder dieselbe Ausrichtung haben, oder Sie lassen das Bild von einer Rasterposition zur nächsten kippen. Das Kippen kann horizontal, vertikal oder in beide Richtungen erfolgen. Im folgenden Beispiel wird veranschaulicht, wie eine Form mit verschiedenen Kipparten gekachelt wird.

So kacheln Sie ein Bild

  • In diesem Beispiel wird das folgende 75×75-Bild verwendet, um ein 200×200-Rechteck zu kacheln.

  • In der folgenden Abbildung wird gezeigt, wie das Rechteck mit dem Bild gekachelt wird. Beachten Sie, dass alle Kacheln dieselbe Ausrichtung haben; es wird also keine Kachel gekippt.

Dim image As New Bitmap("HouseAndTree.gif")
Dim tBrush As New TextureBrush(image)
Dim blackPen As New Pen(Color.Black)
e.Graphics.FillRectangle(tBrush, New Rectangle(0, 0, 200, 200))
e.Graphics.DrawRectangle(blackPen, New Rectangle(0, 0, 200, 200))

Image image = new Bitmap("HouseAndTree.gif");
TextureBrush tBrush = new TextureBrush(image);
Pen blackPen = new Pen(Color.Black);
e.Graphics.FillRectangle(tBrush, new Rectangle(0, 0, 200, 200));
e.Graphics.DrawRectangle(blackPen, new Rectangle(0, 0, 200, 200));

So kippen Sie ein Bild für das Kacheln horizontal

  • In diesem Beispiel wird dasselbe 75×75-Bild verwendet, um ein 200×200-Rechteck auszufüllen. Der Umbruchmodus ist so festgelegt, dass das Bild horizontal gekippt wird. In der folgenden Abbildung wird gezeigt, wie das Rechteck mit dem Bild gekachelt wird. Beachten Sie, während Sie in einer bestimmten Zeile von einer Kachel zur nächsten übergehen, dass das Bild horizontal gekippt ist.

Dim image As New Bitmap("HouseAndTree.gif")
Dim tBrush As New TextureBrush(image)
Dim blackPen As New Pen(Color.Black)
tBrush.WrapMode = WrapMode.TileFlipX
e.Graphics.FillRectangle(tBrush, New Rectangle(0, 0, 200, 200))
e.Graphics.DrawRectangle(blackPen, New Rectangle(0, 0, 200, 200))

Image image = new Bitmap("HouseAndTree.gif");
TextureBrush tBrush = new TextureBrush(image);
Pen blackPen = new Pen(Color.Black);
tBrush.WrapMode = WrapMode.TileFlipX;
e.Graphics.FillRectangle(tBrush, new Rectangle(0, 0, 200, 200));
e.Graphics.DrawRectangle(blackPen, new Rectangle(0, 0, 200, 200));

So kippen Sie ein Bild für das Kacheln vertikal

  • In diesem Beispiel wird dasselbe 75×75-Bild verwendet, um ein 200×200-Rechteck auszufüllen. Der Umbruchmodus ist so festgelegt, dass das Bild vertikal gekippt wird.

    Dim image As New Bitmap("HouseAndTree.gif")
    Dim tBrush As New TextureBrush(image)
    Dim blackPen As New Pen(Color.Black)
    tBrush.WrapMode = WrapMode.TileFlipY
    e.Graphics.FillRectangle(tBrush, New Rectangle(0, 0, 200, 200))
    e.Graphics.DrawRectangle(blackPen, New Rectangle(0, 0, 200, 200))
    
    
    Image image = new Bitmap("HouseAndTree.gif");
    TextureBrush tBrush = new TextureBrush(image);
    Pen blackPen = new Pen(Color.Black);
    tBrush.WrapMode = WrapMode.TileFlipY;
    e.Graphics.FillRectangle(tBrush, new Rectangle(0, 0, 200, 200));
    e.Graphics.DrawRectangle(blackPen, new Rectangle(0, 0, 200, 200));
    

So kippen Sie ein Bild für das Kacheln horizontal und vertikal

  • In diesem Beispiel wird dasselbe 75×75-Bild verwendet, um ein 200×200-Rechteck zu kacheln. Der Umbruchmodus ist so festgelegt, dass das Bild sowohl horizontal als auch vertikal gekippt wird. In der folgenden Abbildung wird gezeigt, wie das Rechteck mit dem Bild gekachelt wird. Beachten Sie, während Sie in einer bestimmten Zeile von einer Kachel zur nächsten übergehen, dass das Bild horizontal gekippt ist, und dass es vertikal gekippt ist, wenn Sie in einer bestimmten Spalte von einer Kachel zur nächsten übergehen.

Dim image As New Bitmap("HouseAndTree.gif")
Dim tBrush As New TextureBrush(image)
Dim blackPen As New Pen(Color.Black)
tBrush.WrapMode = WrapMode.TileFlipXY
e.Graphics.FillRectangle(tBrush, New Rectangle(0, 0, 200, 200))
e.Graphics.DrawRectangle(blackPen, New Rectangle(0, 0, 200, 200))

Image image = new Bitmap("HouseAndTree.gif");
TextureBrush tBrush = new TextureBrush(image);
Pen blackPen = new Pen(Color.Black);
tBrush.WrapMode = WrapMode.TileFlipXY;
e.Graphics.FillRectangle(tBrush, new Rectangle(0, 0, 200, 200));
e.Graphics.DrawRectangle(blackPen, new Rectangle(0, 0, 200, 200));

Siehe auch

Weitere Ressourcen

Verwenden eines Pinsels zum Ausfüllen von Formen