Compartilhar via


Como desenhar uma linha preenchida com uma textura

Em vez de desenhar uma linha com uma cor sólida, você pode desenhar uma linha com uma textura. Para desenhar linhas e curvas com uma textura, crie um objeto TextureBrush e passe esse objeto TextureBrush para um construtor Pen. O bitmap associado ao pincel de textura é usado para repetir o plano (de forma invisível), e quando a caneta desenha uma linha ou curva, o traço revela certos pixels da textura repetida.

Exemplo

O exemplo a seguir cria um objeto Bitmap do arquivo Texture1.jpg. Esse bitmap é usado para construir um objeto TextureBrush e o objeto TextureBrush é usado para construir um objeto Pen. A chamada para DrawImage desenha o bitmap com seu canto superior esquerdo posicionado em (0, 0). A chamada para DrawEllipse usa o objeto Pen para desenhar uma elipse texturizada.

A ilustração a seguir mostra o bitmap e a elipse texturizada:

Captura de tela que mostra o bitmap e a elipse texturizada.

Bitmap bitmap = new Bitmap("Texture1.jpg");
TextureBrush tBrush = new TextureBrush(bitmap);
Pen texturedPen = new Pen(tBrush, 30);

e.Graphics.DrawImage(bitmap, 0, 0, bitmap.Width, bitmap.Height);
e.Graphics.DrawEllipse(texturedPen, 100, 20, 200, 100);
Dim bitmap As New Bitmap("Texture1.jpg")
Dim tBrush As New TextureBrush(bitmap)
Dim texturedPen As New Pen(tBrush, 30)

e.Graphics.DrawImage(bitmap, 0, 0, bitmap.Width, bitmap.Height)
e.Graphics.DrawEllipse(texturedPen, 100, 20, 200, 100)

Compilando o código

Crie um Formulário Windows e manipule o evento Paint desse formulário. Cole o código anterior no manipulador de eventos Paint. Substitua Texture.jpg por uma imagem válida em seu sistema.

Consulte também