Compartilhar via


Como: Preencher uma forma com uma textura de imagem

Você pode preencher uma forma fechada com uma textura, usando o Image classe e o TextureBrush classe.

Exemplo

O exemplo seguinte preenche uma elipse com uma imagem.O código constrói um Image objeto e, em seguida, passa o endereço do que Image objeto sistema autônomo um argumento para um TextureBrush construtor. A terceira demonstrativo dimensiona a imagem e a quarta demonstrativo preenche a elipse com cópias repetidas da imagem em escala.

O 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 x 75 por configuração os valores de escala horizontais e verticais.

Observação:

No exemplo a seguir, o dimensionar da imagem é de 75 x 75 e o dimensionar da elipse é 150 × 250.Como a imagem é menor do que a elipse que está preenchendo, elipse é disposta lado a lado com a imagem.Tiling significa que a imagem é repetida horizontal e verticalmente até o limite da forma for atingido.Para obter mais informações sobre a disposiçã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

The preceding example is designed for use with Windows Forms, and it requires PaintEventArgs e, which is a parameter of the Paint event handler.

Consulte também

Outros recursos

Usando um pincel para preencher formas