Gör så här: Kakla en figur med en bild
Precis som paneler kan placeras bredvid varandra för att täcka ett golv, kan rektangulära bilder placeras bredvid varandra för att fylla (panel) en form. Om du vill panela insidan av en form använder du en texturborste. När du skapar ett TextureBrush objekt är ett av argumenten som du skickar till konstruktorn ett Image objekt. När du använder texturborsten för att måla den inre formen fylls formen med upprepade kopior av den här bilden.
Egenskapen wrap mode för TextureBrush-objektet avgör hur bilden är orienterad när den upprepas i ett rektangulärt rutnät. Du kan göra så att alla paneler i rutnätet har samma orientering, eller så kan du få bilden att vända från en rutnätsposition till nästa. Vändningen kan vara vågrät, lodrät eller både och. I följande exempel visas kakling med olika typer av vridningar.
Så här panelar du en bild
- I det här exemplet används följande 75×75-bild för att kakla en 200×200 rektangel.
- Följande illustration visar hur rektangeln är täckt med bilden. Observera att alla paneler har samma orientering; Det går inte att vända.
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))
Så här vänder du en bild vågrätt under plattsättning
- I det här exemplet används samma 75×75-bild för att fylla en rektangel med 200×200. Omslagsläget är inställt på att vända bilden horisontellt. Följande illustration visar hur rektangeln täcks med bilden. Observera att när du flyttar från en panel till en annan i en viss rad, vänds bilden vågrätt.
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))
Så här vänder du en bild lodrätt under plattsättning
I det här exemplet används samma 75×75-bild för att fylla en rektangel med 200×200. Omslutningsläget är inställt på att vända bilden lodrätt.
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))
Så här vänder du en bild vågrätt och lodrätt under plattsättning
- I det här exemplet används samma 75×75-bild för att panela en rektangel för 200×200. Omslutningsläget är inställt på att vända bilden både vågrätt och lodrätt. Följande bild visar hur rektangeln är kaklad av bilden. Observera att när du flyttar från en panel till en annan i en viss rad, vänds bilden vågrätt, och när du flyttar från en panel till en annan i en viss kolumn, vänds bilden lodrätt.
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))
Se även
.NET Desktop feedback