Sdílet prostřednictvím


Postupy: Dlaždicové vyplnění obrazce pomocí obrázku

Stejně jako dlaždice lze umístit vedle sebe, aby pokrývala podlahu, obdélníkové obrázky lze umístit vedle sebe a vyplnit (dlaždici) obrazec. K dlaždici interiéru obrazce použijte texturový štětec. Při vytváření objektu TextureBrush je jedním z argumentů, které předáte konstruktoru Image , objekt. Když použijete texturový štětec k malování interiéru obrazce, obrazec se vyplní opakovanými kopiemi tohoto obrázku.

Vlastnost režimu obtékání objektu TextureBrush určuje, jak je obrázek orientovaný, protože se opakuje v obdélníkové mřížce. Můžete nastavit, aby všechny dlaždice v mřížce měly stejnou orientaci, nebo můžete obrázek překlopit z jedné pozice mřížky na další. Překlopení může být vodorovné, svislé nebo obojí. Následující příklady ukazují svázání s různými typy překlopení.

Dlaždice obrázku

  • Tento příklad používá následující obrázek 75×75 k dlaždici obdélníku 200×200.

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

  • Následující obrázek znázorňuje, jak je obdélník dlaždicový s obrázkem. Všimněte si, že všechny dlaždice mají stejnou orientaci; není žádný překlopení.

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

Vodorovné překlopení obrázku při svázání

  • Tento příklad používá stejný obrázek 75×75 k vyplnění obdélníku 200×200. Režim obtékání je nastavený tak, aby překlopil obrázek vodorovně. Následující obrázek znázorňuje, jak je obdélník dlaždicový s obrázkem. Všimněte si, že při přechodu z jedné dlaždice na další v daném řádku se obrázek vodorovně překlopí.

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

Překlopení obrázku svisle při provazování

  • Tento příklad používá stejný obrázek 75×75 k vyplnění obdélníku 200×200. Režim obtékání je nastavený tak, aby překlopil obrázek svisle.

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

Překlopení obrázku vodorovně a svisle při provazování

  • Tento příklad používá stejný obrázek 75×75 k dlaždici obdélníku 200×200. Režim obtékání je nastavený tak, aby překlopil obrázek vodorovně i svisle. Následující obrázek znázorňuje, jak je obdélník dlaždicován obrázkem. Všimněte si, že při přechodu z jedné dlaždice na další v daném řádku se obrázek vodorovně překlopí a při přechodu z jedné dlaždice na další v daném sloupci se obrázek překlopí svisle.

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

Viz také