Delen via


Hoe: Een vorm met een afbeelding tegelen

Net zoals tegels naast elkaar kunnen worden geplaatst om een vloer te bedekken, kunnen rechthoekige afbeeldingen naast elkaar worden geplaatst om een vorm op te vullen (tegel). Om het interieur van een vorm te vullen, gebruikt u een textuurborstel. Wanneer u een TextureBrush object maakt, is een van de argumenten die u aan de constructor doorgeeft een Image object. Wanneer u het patroonborstel gebruikt om het interieur van een vorm te schilderen, wordt de vorm gevuld met herhaalde kopieën van deze afbeelding.

De eigenschap wrap mode van het TextureBrush-object bepaalt hoe de afbeelding is gericht omdat deze in een rechthoekig raster wordt herhaald. U kunt alle tegels in het raster dezelfde oriëntatie geven, of u kunt de afbeelding van de ene rasterpositie naar de volgende laten draaien. De omkering kan horizontaal, verticaal of beide zijn. In de volgende voorbeelden ziet u tegels met verschillende soorten omdraaien.

Een afbeelding tegelen

  • In dit voorbeeld wordt de volgende 75×75-afbeelding gebruikt om een rechthoek van 200×200 te bedekken.

De tegelafbeelding met een rood huis en een boom.

  • In de volgende afbeelding ziet u hoe de rechthoek met de afbeelding wordt betegeld. Houd er rekening mee dat alle tegels dezelfde oriëntatie hebben; er is geen omkering.

Een rechthoek die met de afbeelding wordt betegeld in dezelfde richting voor alle tegels.

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

Een afbeelding horizontaal spiegelen tijdens het tegelen

  • In dit voorbeeld wordt dezelfde 75×75-afbeelding gebruikt om een rechthoek van 200×200 te vullen. De omslagmodus wordt ingesteld om de afbeelding horizontaal te spiegelen. In de volgende afbeelding ziet u hoe de rechthoek met de afbeelding wordt betegeld. Houd er rekening mee dat wanneer u van de ene tegel naar de volgende in een rij navigeert, de afbeelding horizontaal wordt gespiegeld.

Een rechthoek betegeld met de afbeelding die horizontaal is gespiegeld.

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

Een afbeelding verticaal spiegelen tijdens het tegelen

  • In dit voorbeeld wordt dezelfde 75×75-afbeelding gebruikt om een rechthoek van 200×200 te vullen. De omwikkelmodus is ingesteld om de afbeelding verticaal om te draaien.

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

Een afbeelding horizontaal en verticaal spiegelen tijdens het tegelen

  • In dit voorbeeld wordt dezelfde 75×75-afbeelding gebruikt om een rechthoek van 200×200 te vullen. De omslagmodus is zo ingesteld dat de afbeelding zowel horizontaal als verticaal wordt gespiegeld. In de volgende afbeelding ziet u hoe de rechthoek wordt betegeld door de afbeelding. Houd er rekening mee dat wanneer u van de ene tegel naar de volgende in een bepaalde rij navigeert, de afbeelding horizontaal wordt gespiegeld en wanneer u van de ene tegel naar de volgende in een bepaalde kolom navigeert, wordt de afbeelding verticaal gespiegeld.

Een rechthoek met de afbeelding die zowel horizontaal als verticaal is gespiegeld.

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

Zie ook