可以使用纹理来绘制线条,而不是使用纯色。 若要使用纹理绘制线条和曲线,请创建一个 TextureBrush 对象,并将该 TextureBrush 对象 Pen 传递给构造函数。 与纹理画笔关联的位图用于以不可见的方式平铺平面,当笔绘制线条或曲线时,笔划会显露平铺纹理的某些像素。
示例:
以下示例从文件Texture1.jpg
创建一个Bitmap对象。 该位图用于构造 TextureBrush 对象,该 TextureBrush 对象用于构造对象 Pen 。 调用 DrawImage 将位图绘制在左上角坐标为 (0, 0) 的位置。 调用以 DrawEllipse 使用 Pen 对象绘制纹理椭圆。
下图显示了位图和纹理椭圆:
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)
编译代码
创建 Windows 窗体并处理窗体的 Paint 事件。 将上述代码粘贴到 Paint 事件处理程序中。 用系统上有效的映像替换 Texture.jpg
。