Nasıl yapılır: Bir Şekli Bir Resimle Döşeme

Kutucukların bir zemini kapsaymaları için yanlarına yerleştiriller gibi dikdörtgen görüntüler de bir şekli doldurmak (kutucuk) için yanlarına yerleştiril olabilir. Şeklin iç kısımlarını kutucuklamak için doku fırçası kullanın. Bir nesnesi TextureBrush oluştururken, oluşturucuya iletirsiniz bağımsız değişkenlerinden biri bir Image nesnesidir. Şeklin iç kısımlarını boyamak için doku fırçasını kullanırken şekil, bu görüntünün yinelenen kopyaları ile doldurulur.

Nesnenin kaydırma modu TextureBrush özelliği, dikdörtgen bir kılavuzda yinelenirken görüntünün nasıl yönlendirildiklerini belirler. Kılavuzda tüm kutucukların aynı yönlendirmeye sahip olması veya görüntünün bir kılavuz konumundan bir sonrakine çevirmesini sebilirsiniz. Çevirme yatay, dikey veya her ikisi de olabilir. Aşağıdaki örnekler, farklı türlerde çevirme ile çalışma gösterir.

Bir görüntüyü kutucukla döşemek için

  • Bu örnekte, 200×200 dikdörtgen kutucukları için aşağıdaki 75×75 görüntüsü kullanılır.

Kırmızı ev ve ağaç gösteren kutucuk resmi.

  • Aşağıdaki çizimde dikdörtgenin görüntüyle nasıl kutucukla kutucukla çizili olduğu gösterilmiştir. Tüm kutucukların aynı yönlendirmeye sahip olduğunu unutmayın; çevirme yoktur.

Tüm kutucuklar için aynı yönlendirme kullanılarak görüntüyle kutucuklara sahip bir dikdörtgen.

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

Yazı tura sırasında bir görüntüyü yatay olarak çevirmek için

  • Bu örnekte 200×200 dikdörtgeni doldurmak için aynı 75×75 görüntüsü kullanılır. Kaydırma modu, görüntüyü yatay olarak çeviracak şekilde ayarlanır. Aşağıdaki çizimde dikdörtgenin görüntüyle nasıl kutucukla kutucukla çizili olduğu gösterilmiştir. Bir kutucuktan bir sonraki satıra geçerek görüntünün yatay olarak çevrilmiş olduğunu unutmayın.

Görüntünün yatay olarak çevrilerek kutucuk içinde yer alan dikdörtgen.

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

Yazı tura sırasında bir görüntüyü dikey olarak çevirmek için

  • Bu örnekte 200×200 dikdörtgeni doldurmak için aynı 75×75 görüntüsü kullanılır. Sarmala modu, görüntüyü dikey olarak çeviracak şekilde ayarlanır.

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

Yazı tura yaparken bir görüntüyü yatay ve dikey olarak çevirmek için

  • Bu örnekte 200×200 dikdörtgen kutucukları için aynı 75×75 görüntüsü kullanılır. Kaydırma modu, görüntüyü hem yatay hem de dikey olarak çevirmek için ayarlanır. Aşağıdaki çizimde dikdörtgenin görüntü tarafından nasıl kutucukla kutucukla çizili olduğu gösterilmiştir. Bir kutucuktan bir satıra geçerek bir satırda bir sonraki satıra geçerek görüntünün yatay olarak çevrilerek bir kutucuktan bir sütundaki bir sonraki kutucuğunun sonraki kutucuğunun dikeye çevrilerek çevrilerek görüntüye çevrilerek görüntüde yatay olarak hareket ettirilen görüntü olduğunu unutmayın.

Görüntünün yatay ve dikey olarak çevrilerek kutucuk içinde yer alan dikdörtgen.

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

Ayrıca bkz.