Procedimiento para dibujar una línea rellena con una textura

En lugar de dibujar una línea con un color sólido, puede dibujar una línea con una textura. Para dibujar líneas y curvas con una textura, cree un objeto TextureBrush y pase ese objeto TextureBrush a un constructor Pen. El mapa de bits asociado al pincel de textura se usa para mostrar el plano (de forma invisible) y cuando el lápiz dibuja una línea o curva, el trazo del lápiz descubre determinados píxeles de la textura colocada en mosaico.

Ejemplo

En el ejemplo siguiente se crea un objeto Bitmap a partir del archivo Texture1.jpg. Ese mapa de bits se usa para construir un objeto TextureBrush y el objeto TextureBrush se usa para construir otro de tipo Pen. La llamada a DrawImage dibuja el mapa de bits con su esquina superior izquierda en (0, 0). La llamada a DrawEllipse usa el objeto Pen para dibujar una elipse con textura.

En la ilustración siguiente se muestra el mapa de bits y la elipse con textura:

Captura de pantalla que muestra el mapa de bits y la 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)

Compilar el código

Cree un formulario de Windows Forms y controle el evento Paint del formulario. Pegue el código anterior en el controlador de eventos Paint. Reemplace Texture.jpg por una imagen válida en el sistema.

Consulte también