Como: Preencher uma forma com uma imagem de textura
Você pode preencher uma forma fechada com uma textura usando o Image classe e o TextureBrush classe.
Exemplo
O exemplo a seguir preenche uma elipse com uma imagem. O código constrói um Image object e passa o endereço do que Image o objeto como um argumento para um TextureBrush construtor. A terceira instrução dimensiona a imagem e a quarta instrução preenche a elipse com cópias repetidas da imagem dimensionada.
No código a seguir, o Transform propriedade contém a transformação que é aplicada à imagem antes de ele é desenhado. Suponha que a imagem original tem uma largura de 640 pixels e uma altura de 480 pixels. A transformação é reduzido a imagem 75 x 75 definindo os valores de escala horizontais e verticais.
Observação |
---|
No exemplo a seguir, o tamanho da imagem é de 75 x 75 e o tamanho da elipse é 150 × 250. Porque a imagem é menor do que a elipse que ele está preenchendo, a elipse é lado a lado com a imagem. Lado a lado significa que a imagem é repetida horizontalmente e verticalmente até o limite da forma é alcançada. Para obter mais informações sobre o lado a lado, consulte Como: Uma forma com uma imagem de xadrez. |
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))
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));
Compilando o código
O exemplo anterior é projetado para uso com o Windows Forms e requer PaintEventArgs e, que é um parâmetro da Paint manipulador de eventos.