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 e passe esse TextureBrush objeto para um TextureBrushPen construtor. O bitmap associado ao pincel de textura é usado para organizar lado a lado o plano (modo invisível) e quando a caneta desenha uma linha ou curva, o traço de caneta revela determinados pixels da textura lado a lado.

Exemplo

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

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

Screenshot that shows the bitmap and the textured ellipse.

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 Windows Form e manipule o evento do Paint formulário. Cole o código anterior no manipulador de Paint eventos. Substitua Texture.jpg por uma imagem válida no sistema.

Confira também