Compartilhar via


Lado a lado de uma forma com uma imagem

Da mesma forma que blocos podem ser colocados lado a lado para recobrir um piso, imagens retangulares podem ser colocadas umas ao lado das outras para preencher (organizar lado a lado) uma forma. Para organizar o interior de uma forma lado a lado, use um pincel de textura. Quando você constrói um objeto TextureBrush , um dos argumentos que você passa para o construtor é o endereço de um objeto Image . Quando você usa o pincel de textura para pintar o interior de uma forma, ela será preenchida com repetidas cópias dessa imagem.

A propriedade de modo de encapsulamento do objeto TextureBrush determina como a imagem é orientada conforme ela é repetida em uma grade retangular. Você pode fazer todos os blocos na grade terem a mesma orientação ou fazer com que a imagem fique invertida de uma posição de grade para a próxima. A inversão pode ser horizontal, vertical ou ambas. Os exemplos a seguir demonstram organização lado a lado com tipos diferentes de inversão.

Lado a lado de uma imagem

Este exemplo usa a seguinte imagem de 75 ×75 para colocar um retângulo 200 ×200:

ilustração usada como base de outras ilustrações neste tópico: uma casa e uma árvore em segundo plano e centralizada em um retângulo

Image image(L"HouseAndTree.png");
TextureBrush tBrush(&image);
Pen blackPen(Color(255, 0, 0, 0));
stat = graphics.FillRectangle(&tBrush, Rect(0, 0, 200, 200));
stat = graphics.DrawRectangle(&blackPen, Rect(0, 0, 200, 200));

A ilustração a seguir mostra como o retângulo é organizado lado a lado com a imagem. Observe que todos os blocos têm a mesma orientação; não há nenhum inversão.

ilustração mostrando a imagem base repetida horizontal e verticalmente em um retângulo grande

 

Invertendo uma imagem horizontalmente enquanto lado a lado

Este exemplo usa uma imagem de 75 ×75 para preencher um retângulo de 200 ×200. O modo de encapsulamento é definido para inverter a imagem horizontalmente.

Image image(L"HouseAndTree.png");
TextureBrush tBrush(&image);
Pen blackPen(Color(255, 0, 0, 0));
stat = tBrush.SetWrapMode(WrapModeTileFlipX);
stat = graphics.FillRectangle(&tBrush, Rect(0, 0, 200, 200));
stat = graphics.DrawRectangle(&blackPen, Rect(0, 0, 200, 200));

A ilustração a seguir mostra como o retângulo é organizado lado a lado com a imagem. Observe que, ao mudar de um bloco para o próximo em uma determinada linha, a imagem é invertida horizontalmente.

ilustração mostrando a imagem base repetida horizontalmente, mas instâncias com numeração uniforme são invertidas horizontalmente

 

Invertendo uma imagem verticalmente enquanto lado a lado

Este exemplo usa uma imagem de 75 ×75 para preencher um retângulo de 200 ×200. O modo de encapsulamento é definido para inverter a imagem verticalmente.

Image image(L"HouseAndTree.png");
TextureBrush tBrush(&image);
Pen blackPen(Color(255, 0, 0, 0));
stat = tBrush.SetWrapMode(WrapModeTileFlipY);
stat = graphics.FillRectangle(&tBrush, Rect(0, 0, 200, 200));
stat = graphics.DrawRectangle(&blackPen, Rect(0, 0, 200, 200));

A ilustração a seguir mostra como o retângulo é organizado lado a lado com a imagem. Observe que, à medida que você passa de um bloco para o próximo em uma determinada coluna, a imagem é invertida verticalmente.

ilustração mostrando a imagem base repetida horizontal e verticalmente, mas linhas com numeração uniforme são invertidas verticalmente

 

Invertendo uma imagem horizontal e verticalmente enquanto lado a lado

Este exemplo usa uma imagem de 75 ×75 para colocar um retângulo 200 ×200. O modo de encapsulamento é definido para inverter a imagem tanto horizontalmente quanto verticalmente.

Image image(L"HouseAndTree.png");
TextureBrush tBrush(&image);
Pen blackPen(Color(255, 0, 0, 0));
stat = tBrush.SetWrapMode(WrapModeTileFlipXY);
stat = graphics.FillRectangle(&tBrush, Rect(0, 0, 200, 200));
stat = graphics.DrawRectangle(&blackPen, Rect(0, 0, 200, 200));

A ilustração a seguir mostra como o retângulo é organizado lado a lado pela imagem. Observe que, ao mudar de um bloco para o próximo em uma determinada linha, a imagem é invertida horizontalmente e, ao mudar de um bloco para o próximo em uma determinada coluna, a imagem é invertida verticalmente.

ilustração que mostra instâncias alternadas da imagem base em cada linha são invertidas horizontalmente e linhas alternadas são invertidas verticalmente