C#画笔Pen用法实例
C# 中的 System.Drawing.Pen 类用于创建实线画笔,可控制线条的颜色、宽度和端点样式。本文将演示如何通过继承 Form 的按钮事件,初始化 Pen 并调用 Graphics.DrawLine 在窗体上绘制一条带有特殊线帽的蓝色粗线。
结果或目标
程序运行后,点击界面上的 button1,将在坐标 (10, 50) 到 (100, 50) 之间绘制一条蓝色的水平直线。该直线宽度为 12 像素,且两端具备钻石形状的锚点线帽。
准备条件
- 使用 .NET Framework 或 .NET Core/5+ 的 Windows Forms 项目。
- 确保已添加对
System.Drawing和System.Windows.Forms的引用。 - 设计界面中包含一个名为
button1的按钮控件及其对应的Click事件处理方法。
真实操作顺序
第1步:引入必要的命名空间
目的:访问绘图类库。
入口:源文件顶部。
动作:添加 using 指令以简化类型名称。
重要参数:System.Drawing, System.Drawing.Drawing2D, System.Windows.Forms
完成状态:代码不再报错未定义的类名。
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;
第2步:在事件中创建 Pen 对象
目的:定义绘制线条的外观。
入口:Button Click 事件内部。
动作:实例化 Pen,指定颜色与宽度。
重要参数:Color.Blue, 12 (宽度)
完成状态:pen 变量持有有效的画笔实例。
Pen pen = new Pen(Color.Blue, 12);
第3步:配置线帽属性 (EndCap)
目的:自定义线条端点的形状,提升视觉辨识度。
入口:Pen 对象属性。
动作:将 EndCap 设为 LineCap.DiamondAnchor。
重要参数:LineCap.DiamondAnchor
完成状态:线条两端将出现钻石形装饰。
pen.EndCap = LineCap.DiamondAnchor;
第4步:获取 Graphics 上下文并绘制线条
目的:执行实际的绘图命令。
入口:Form 的 CreateGraphics 方法。
动作:创建 Graphics 对象,调用 DrawLine。
重要参数:起始点 (10, 50),结束点 (100, 50)
完成状态:屏幕上显示绘制的直线。
Graphics g = this.CreateGraphics();
g.DrawLine(pen, 10, 50, 100, 50);
第5步:完整代码结构
将上述步骤整合至 Windows Forms 应用程序的主窗体代码中。注意:直接调用 CreateGraphics() 绘制的内容在窗口重绘时可能会消失,生产环境中建议重写 OnPaint 或使用双缓冲技术。
namespace WindowsApplication2
{
public partial class Form11 : Form
{
public Form11()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// 1. 创建画笔:蓝色,宽度12像素
Pen pen = new Pen(Color.Blue, 12);
// 2. 设置线帽样式为钻石锚点
pen.EndCap = LineCap.DiamondAnchor;
// 3. 获取当前窗体的绘图表面
Graphics g = this.CreateGraphics();
// 4. 绘制从 (10,50) 到 (100,50) 的直线
g.DrawLine(pen, 10, 50, 100, 50);
// 建议使用后释放资源,尽管此处为简单示例未强制Dispose
// g.Dispose();
// pen.Dispose();
}
}
}
简要总结
以上便是关于 C# 中使用 Pen 类绘制带自定义线帽线条的详细内容。该示例展示了 GDI+ 基础绘图的核心流程,包括画笔初始化、属性配置及图元绘制。更多关于 C# 图形编程的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









