您的位置: 网站首页 > 程序开发 > C#程序设计 > 第8章 GDI+图形 > 【8.2 创建Graphics对象】

8.2 创建Graphics对象

 

Graphics类封装一个GDI+绘图图面。Graphics对象表示GDI+绘图表面,是用于创建图形图像的对象。绘图时需要先创建Graphics对象,然后才可以使用GDI+绘制线条和形状、呈现文本或显示与操作图像。绘制图形包括以下两个步骤。

1)创建Graphics对象。

2)使用Graphics对象绘制线条和形状、呈现文本或显示与操作图像。

创建Graphics对象有以下3个方法。

在窗体或控件的Paint事件中进行对图形对象的引用,作为PaintEventArgs的一部分。在为控件创建绘制代码时,通常会使用此方法来获取对图形对象的引用。如下的代码演示了这种用法。

1.目的说明

创建一个Windows窗体应用程序,演示通过Paint事件创建Graphics对象。

2.实现步骤

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

2)修改窗体的Paint事件,如图8-3所示。

8-3  Paint事件

3)双击图8-3中的Paint事件,将转入代码编辑器界面,修改Form1.cs代码如下:

namespace PaintCreate

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void Form1_Paint(object sender, PaintEventArgs e)

        {

            Graphics g = e.Graphics();

            MessageBox.Show(g.ToString());

        }

    }

}

3.运行结果

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

8-4  运行结果

4.代码分析

MessageBox成功地显示了变量g的类型,说明Graphics对象创建成功。

8-5  Paint事件

 

调用某控件或窗体的CreateGraphics方法以获取对Graphics对象的引用,该对象表示该控件或窗体的绘图图面。如果想在已存在的窗体或控件上绘图,应该使用此方法。下面的代码演示了这种用法。

1.目的说明

创建一个Windows窗体应用程序,演示通过Paint事件创建Graphics对象。

2.实现步骤

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

2)添加一个按钮控件,如图8-5所示。

3)双击新添加的按钮,将转入代码编辑器界面,修改Form1.cs代码如下:

namespace FormCreate

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            Graphics g = this.CreateGraphics();

 

            MessageBox.Show(g.ToString());

        }

    }

}

3.运行结果

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

8-6  运行结果

4码分析

MessageBox成功地显示了变量g的类型,说明Graphics对象创建成功。

由从Image继承的任何对象创建Graphics对象。此方法对于需要更改已存在的图像时十分有用。下面的实例演示了这种用法。

1.目的说明

创建一个Windows窗体应用程序,演示通过Paint事件创建Graphics对象。

8-7  Paint事件

 

2.实现步骤

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

2)添加一个按钮控件,如图8-7所示。

3)双击新添加的按钮,将转入代码编辑器界面,修改Form1.cs代码如下:

namespace ImageCreate

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

        {

            Bitmap b = new Bitmap(@"C:\myBMP.bmp");

            Graphics g = Graphics.FromImage(b);

        }

    }

}

3.运行结果

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

8-8  运行结果

4.代码分析

MessageBox成功地显示了变量g的类型,说明Graphics对象创建成功。

在创建完毕Graphics对象后,可将其应用于绘制线条和形状、呈现文本或显示与操作图像。与Graphics对象一起使用的主要对象包括如下几类。

·    Pen类:Pen类主要用于绘制线条,或者用线条组合成的其他几何形状。

·    Brush类:Brush类主要用于填充几何图形,如将正方形和圆形填充其他颜色。

·    Font类:Font类主要用于控制文本的字体样式。

·    Color结构:可以设置不同颜色。