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:
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
.NET Desktop feedback