Como Preencher uma Forma com uma Textura de Imagem
Você pode preencher uma forma fechada com uma textura usando a classe e a ImageTextureBrush classe.
Exemplo
O exemplo a seguir preenche uma elipse com uma imagem. O código constrói um Image objeto e, em seguida, passa o endereço desse Image objeto como um argumento para um TextureBrush construtor. A terceira instrução redimensiona a imagem e a quarta instrução preenche a elipse com repetidas cópias da imagem dimensionada.
No código a seguir, a Transform propriedade contém a transformação aplicada à imagem antes de ser desenhada. Suponha que a imagem original possui uma largura de 640 pixels e uma altura de 480 pixels. A transformação reduz a imagem a 75 × 75 configurando os valores de colocação em escala horizontal e vertical.
Observação
No exemplo a seguir, o tamanho da imagem é 75 × 75 e o tamanho da elipse é 150 × 250. Como a imagem é menor do que a elipse que ela está preenchendo, a elipse é organizada lado a lado com a imagem. Lado a lado significa que a imagem é repetida horizontal e verticalmente até o limite da forma ser atingido. Para obter mais informações sobre o organização lado a lado, consulte Como organizar lado a lado uma forma com uma imagem.
Image image = new Bitmap("ImageFile.jpg");
TextureBrush tBrush = new TextureBrush(image);
tBrush.Transform = new Matrix(
75.0f / 640.0f,
0.0f,
0.0f,
75.0f / 480.0f,
0.0f,
0.0f);
e.Graphics.FillEllipse(tBrush, new Rectangle(0, 150, 150, 250));
Dim image As New Bitmap("ImageFile.jpg")
Dim tBrush As New TextureBrush(image)
tBrush.Transform = New Matrix( _
75.0F / 640.0F, _
0.0F, _
0.0F, _
75.0F / 480.0F, _
0.0F, _
0.0F)
e.Graphics.FillEllipse(tBrush, New Rectangle(0, 150, 150, 250))
Compilando o código
O exemplo anterior foi projetado para uso com o Windows Forms e requer PaintEventArgse
, que é um parâmetro do Paint manipulador de eventos.
Confira também
.NET Desktop feedback