Graphics类封装一个GDI+绘图图面。Graphics对象表示GDI+绘图表面,是用于创建图形图像的对象。绘图时需要先创建Graphics对象,然后才可以使用GDI+绘制线条和形状、呈现文本或显示与操作图像。绘制图形包括以下两个步骤。
(1)创建Graphics对象。
(2)使用Graphics对象绘制线条和形状、呈现文本或显示与操作图像。
创建Graphics对象有以下3个方法。
在窗体或控件的Paint事件中进行对图形对象的引用,作为PaintEventArgs的一部分。在为控件创建绘制代码时,通常会使用此方法来获取对图形对象的引用。如下的代码演示了这种用法。
创建一个Windows窗体应用程序,演示通过Paint事件创建Graphics对象。
(1)创建一个名为PaintCreate的Windows窗体应用程序项目。
(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());
}
}
}
按Ctrl+F5组合键运行程序,运行结果如图8-4所示。
图8-4 运行结果
MessageBox成功地显示了变量g的类型,说明Graphics对象创建成功。
图8-5 Paint事件
|
创建一个Windows窗体应用程序,演示通过Paint事件创建Graphics对象。
(1)创建一个名为FormCreate的Windows窗体应用程序项目。
(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());
}
}
}
按Ctrl+F5组合键运行程序,运行结果如图8-6所示。
图8-6 运行结果
MessageBox成功地显示了变量g的类型,说明Graphics对象创建成功。
由从Image继承的任何对象创建Graphics对象。此方法对于需要更改已存在的图像时十分有用。下面的实例演示了这种用法。
创建一个Windows窗体应用程序,演示通过Paint事件创建Graphics对象。
图8-7 Paint事件
|
(1)创建一个名为ImageCreate的Windows窗体应用程序项目。
(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);
}
}
}
按Ctrl+F5组合键运行程序,运行结果如图8-8所示。
图8-8 运行结果
MessageBox成功地显示了变量g的类型,说明Graphics对象创建成功。
在创建完毕Graphics对象后,可将其应用于绘制线条和形状、呈现文本或显示与操作图像。与Graphics对象一起使用的主要对象包括如下几类。
· Pen类:Pen类主要用于绘制线条,或者用线条组合成的其他几何形状。
· Brush类:Brush类主要用于填充几何图形,如将正方形和圆形填充其他颜色。
· Font类:Font类主要用于控制文本的字体样式。
· Color结构:可以设置不同颜色。