如何:绘制用纹理填充的线条

您可以不用纯色绘制线条,而用纹理绘制线条。 若要绘制带有纹理的直线和曲线,请创建 TextureBrush 对象,并将该 TextureBrush 对象传递给 Pen 构造函数。 与该纹理刷相关联的位图用于平铺平面(不可见),然后当钢笔绘制直线或曲线时,钢笔的笔划揭开平铺纹理的某些像素。

示例

下面的示例从文件 Texture1.jpg 创建 Bitmap 对象。 位图用于构造 TextureBrush 对象,而 TextureBrush 对象用于构造 Pen 对象。 对 DrawImage 的调用将绘制该位图,位图的左上角位于 (0, 0)。 对 DrawEllipse 的调用将使用 Pen 对象绘制带纹理的椭圆。

下面的插图显示该位图和带纹理的椭圆。

钢笔

        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)

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);

编译代码

创建一个 Windows 窗体并处理窗体的 Paint 事件。 将上面的代码粘贴到 Paint 事件处理程序中。 用一个对您的系统有效的图像替换 Texture.jpg。

请参见

其他资源

使用钢笔绘制线条和形状

Windows 窗体中的图形和绘制