Como: Uma forma com uma imagem de xadrez
Assim como o lado a lado pode ser colocada lado a lado para cobrir um andar, retangulares imagens podem ser colocadas lado a lado para preencher uma forma (quadrado). Para colocar lado a lado no interior de uma forma, use um pincel de textura. Quando você construir um TextureBrush o objeto, um dos argumentos que você passar para o construtor é um Image objeto. Ao usar o pincel de textura para pintar o interior de uma forma, a forma é preenchida com cópias repetidas dessa imagem.
A propriedade de modo de quebra automática da TextureBrush objeto determina como a imagem é orientada como ele é repetido em uma grade retangular. Você pode fazer tudo o que os ladrilhos na grade tem a mesma orientação, ou você pode fazer com que a imagem Inverter da posição de uma grade para o próximo. A inversão pode ser horizontal, vertical ou ambos. Os exemplos a seguir demonstram o lado a lado com tipos diferentes de inversão.
Para uma imagem de xadrez
- Este exemplo usa a seguinte imagem 75 × 75 para um retângulo 200 × 200.
- A ilustração a seguir mostra como o retângulo fica lado a lado com a imagem. Observe que todas as peças têm a mesma orientação; Não há nenhuma inversão.
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))
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));
Para inverter uma imagem horizontalmente ao lado a lado
- Este exemplo usa a mesma imagem 75 × 75 para preencher um retângulo 200 × 200. O modo de quebra é definido para inverter a imagem horizontalmente. A ilustração a seguir mostra como o retângulo fica lado a lado com a imagem. Observe que, como mover de um ladrilho para o próximo em uma determinada linha, a imagem está invertida horizontalmente.
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))
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));
Para inverter uma imagem verticalmente ao lado a lado
Este exemplo usa a mesma imagem 75 × 75 para preencher um retângulo 200 × 200. O modo de quebra é definido para inverter a imagem verticalmente.
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))
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));
Para inverter uma imagem horizontalmente e verticalmente ao lado a lado
- Este exemplo usa a mesma imagem 75 × 75 para um retângulo 200 × 200. O modo de quebra é definido para inverter a imagem horizontalmente e verticalmente. A ilustração a seguir mostra como o retângulo é lado a lado por imagem. Observe que ao mover de um ladrilho para o próximo em uma determinada linha, a imagem está invertida horizontalmente e como mover de um ladrilho para o próximo em uma determinada coluna, a imagem será invertida verticalmente.
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))
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));