Pen类的主要作用正如其中文名称所讲,起到一个画笔的作用。主要用于绘制线条,或者用线条组合成的其他几何形状。下面介绍一个实例,演示如何用画笔绘制各种线条。
图8-9 Paint事件
|
创建一个Windows窗体应用程序,演示通过画笔绘制直线。
(1)创建一个名为LineCreate的Windows窗体应用程序项目。
(2)添加一个按钮控件,如图8-9所示。
(3)双击新添加的按钮,将转入代码编辑器界面,修改Form1.cs代码如下:
namespace LineCreate
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.Blue);
g.DrawLine(p, 100, 100, 200, 200);
}
}
}
按Ctrl+F5组合键运行程序,运行结果如图8-10所示。
图8-10 运行结果
代码中利用画笔类绘制了从点(100,100)到点(200,200)的一条直线。
利用DrawLines方法还可以绘制一系列直线。下面的实例演示了创建一系列直线的方法。
图8-11 Paint事件
|
创建一个Windows窗体应用程序,演示通过画笔绘制一系列直线。
(1)创建一个名为LinesCreate的Windows窗体应用程序项目。
(2)添加一个按钮控件,如图8-11所示。
(3)双击新添加的按钮,将转入代码编辑器界面,修改Form1.cs代码如下:
namespace LinesCreate
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.Blue);
Point p1 = new Point(50, 50);
Point p2 = new Point(75, 150);
Point p3 = new Point(95, 59);
Point p4 = new Point(155, 200);
Point[] ps = { p1, p2, p3, p4 };
g.DrawLines(p, ps);
}
}
}
按Ctrl+F5组合键运行程序,运行结果如图8-12所示。
图8-12 运行结果
图8-13 Paint事件
|
创建一个Windows窗体应用程序,演示通过画笔绘制曲线。
(1)创建一个名为CurveCreate的Windows窗体应用程序项目。
(2)添加一个按钮控件,如图8-13所示。
(3)双击新添加的按钮,将转入代码编辑器界面,修改Form1.cs代码如下:
namespace LinesCreate
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.Blue);
Point p1 = new Point(50, 50);
Point p2 = new Point(75, 150);
Point p3 = new Point(95, 59);
Point p4 = new Point(155, 200);
Point[] ps = { p1, p2, p3, p4 };
g.DrawCurve(p, ps);
}
}
}
按Ctrl+F5组合键运行程序,运行结果如图8-14所示。
图8-14 运行结果
代码中利用画笔类绘制了从点(50,50)到(75,150)到(95,59)到(155,200)的一条曲线。可以看到,虽然通过的点相同,但利用DrawCurve画出的是曲线,而DrawLines画出的是折线。上述实例中绘制的是一段曲线,利用DrawClosedCurve可以绘制出闭合的曲线。下面的实例演示的是绘制闭合曲线的方法。
图8-15 Paint事件
|
创建一个Windows窗体应用程序,演示通过画笔绘制闭合曲线。
(1)创建一个名为ClosedCurveCreate的Windows窗体应用程序项目。
(2)添加一个按钮控件,如图8-15所示。
(3)双击新添加的按钮,将转入代码编辑器界面,修改Form1.cs代码如下:
namespace LinesCreate
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.Blue);
Point p1 = new Point(50, 50);
Point p2 = new Point(75, 150);
Point p3 = new Point(95, 59);
Point p4 = new Point(155, 200);
Point[] ps = { p1, p2, p3, p4 };
g.DrawClosedCurve(p, ps);
}
}
}
按Ctrl+F5组合键运行程序,运行结果如图8-16所示。
代码中利用画笔类绘制了从点(50,50)到(75,150)到(95,59)到(155,200)的一条曲线。可以看到,虽然通过的点相同,利用DrawCurve画出的是曲线,利用DrawLines画出的是折线,而利用DrawClosedCurve绘制出的是一条闭合的曲线。
图8-16 运行结果