您的位置: 网站首页 > 程序开发 > C#程序设计 > 第8章 GDI+图形 > 【8.3 绘 制 线 条】

8.3 绘 制 线 条

 

Pen类的主要作用正如其中文名称所讲,起到一个画笔的作用。主要用于绘制线条,或者用线条组合成的其他几何形状。下面介绍一个实例,演示如何用画笔绘制各种线条。

8-9  Paint事件

 

1.目的说明

创建一个Windows窗体应用程序,演示通过画笔绘制直线。

2.实现步骤

1)创建一个名为LineCreateWindows窗体应用程序项目。

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

        }

    }

}

3.运行结果

Ctrl+F5组合键运行程序,运行结果如图8-10所示。

8-10  运行结果

4.代码分析

代码中利用画笔类绘制了从点(100100)到点(200200)的一条直线。

利用DrawLines方法还可以绘制一系列直线。下面的实例演示了创建一系列直线的方法。

 

8-11  Paint事件

 

1.目的说明

创建一个Windows窗体应用程序,演示通过画笔绘制一系列直线。

2.实现步骤

1)创建一个名为LinesCreateWindows窗体应用程序项目。

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

        }

    }

}

3.运行结果

Ctrl+F5组合键运行程序,运行结果如图8-12所示。

8-12  运行结果

4.代码分析

8-13  Paint事件

 

代码中利用画笔类绘制了从点(5050)到(75150)到(9559)到(155200)的一系列直线。利用GDI+不仅可以绘制直线,还可以利用DrawCurve方法绘制曲线。下面介绍的实例演示了绘制曲线的方法。

1.目的说明

创建一个Windows窗体应用程序,演示通过画笔绘制曲线。

2.实现步骤

1)创建一个名为CurveCreateWindows窗体应用程序项目。

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

        }

    }

}

3.运行结果

Ctrl+F5组合键运行程序,运行结果如图8-14所示。

8-14  运行结果

4.代码分析

代码中利用画笔类绘制了从点(5050)到(75150)到(9559)到(155200)的一条曲线。可以看到,虽然通过的点相同,但利用DrawCurve画出的是曲线,而DrawLines画出的是折线。上述实例中绘制的是一段曲线,利用DrawClosedCurve可以绘制出闭合的曲线。下面的实例演示的是绘制闭合曲线的方法。

8-15  Paint事件

 

1.目的说明

创建一个Windows窗体应用程序,演示通过画笔绘制闭合曲线。

2.实现步骤

1)创建一个名为ClosedCurveCreateWindows窗体应用程序项目。

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

        }

    }

}

3.运行结果

Ctrl+F5组合键运行程序,运行结果如图8-16所示。

4.代码分析

代码中利用画笔类绘制了从点(5050)到(75150)到(9559)到(155200)的一条曲线。可以看到,虽然通过的点相同,利用DrawCurve画出的是曲线,利用DrawLines画出的是折线,而利用DrawClosedCurve绘制出的是一条闭合的曲线。

8-16  运行结果