Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Você pode preencher uma forma fechada com uma textura usando a Image classe e a TextureBrush 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 escala a imagem, e a quarta instrução preenche a elipse com cópias repetidas da imagem dimensionada.
No código a seguir, a Transform propriedade contém a transformação que é aplicada à imagem antes de ser desenhada. Suponha que a imagem original tem uma largura de 640 pixels e uma altura de 480 pixels. A transformação reduz a imagem para 75×75 definindo os valores de dimensionamento 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 está preenchendo, a elipse é lado a lado com a imagem. O mosaico significa que a imagem é repetida horizontal e verticalmente até alcançar o limite da forma. Para obter mais informações sobre revestimento, consulte Como revestir 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 manipulador de eventos Paint.
Ver também
.NET Desktop feedback