Vorgehensweise: Anordnen einer Form neben bzw. unter einem Bild

Ebenso wie Kacheln nebeneinander platziert werden können, um einen Boden abzudecken, können rechteckige Bilder nebeneinander platziert werden, um eine Form zu füllen (Kachel). Verwenden Sie einen Texturpinsel, um das Innere einer Form zu kacheln. Wenn Sie ein TextureBrush -Objekt erstellen, ist eines der Argumente, die Sie an den Konstruktor übergeben, ein - Image Objekt. Wenn Sie den Texturpinsel verwenden, um das Innere einer Form zu zeichnen, wird die Form mit wiederholten Kopien dieses Bilds gefüllt.

Die Wrap mode-Eigenschaft des TextureBrush -Objekts bestimmt, wie das Bild ausgerichtet ist, während es in einem rechteckigen Raster wiederholt wird. Sie können dafür sorgen, dass alle Kacheln im Raster die gleiche Ausrichtung haben, oder Sie können das Bild von einer Rasterposition zur nächsten drehen lassen. Das Flipping kann horizontal, vertikal oder beides sein. In den folgenden Beispielen wird das Kacheln mit verschiedenen Flippingtypen veranschaulicht.

So kacheln Sie ein Bild

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

The tile image that shows a red house and a tree.

  • Die folgende Abbildung zeigt, wie das Rechteck mit dem Bild gekachelt wird. Beachten Sie, dass alle Kacheln die gleiche Ausrichtung haben. es gibt kein Flipping.

A rectangle tiled with the image using the same orientation for all tiles.

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));
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))

So drehen Sie ein Bild beim Kacheln horizontal

  • In diesem Beispiel wird das gleiche 75×75-Bild verwendet, um ein 200×200-Rechteck auszufüllen. Der Umbruchmodus ist so festgelegt, dass das Bild horizontal gekippt wird. Die folgende Abbildung zeigt, wie das Rechteck mit dem Bild gekachelt wird. Beachten Sie, dass das Bild horizontal gekippt wird, wenn Sie in einer bestimmten Zeile von einer Kachel zur nächsten wechseln.

A rectangle tiled with the image flipped horizontally.

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));
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))

So drehen Sie ein Bild beim Kacheln vertikal

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

    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));
    
    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))
    
    

So drehen Sie ein Bild beim Kacheln horizontal und vertikal

  • In diesem Beispiel wird das gleiche 75×75-Bild verwendet, um ein 200×200-Rechteck zu kacheln. Der Umbruchmodus ist so festgelegt, dass das Bild horizontal und vertikal gekippt wird. Die folgende Abbildung zeigt, wie das Rechteck vom Bild gekachelt wird. Beachten Sie, dass beim Verschieben von einer Kachel zur nächsten in einer bestimmten Zeile das Bild horizontal gekippt wird, und wenn Sie in einer bestimmten Spalte von einer Kachel zur nächsten wechseln, wird das Bild vertikal gekippt.

A rectangle tiled with the image flipped horizontally and vertically.

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));
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))

Siehe auch