vb.net GDI+入门——创建 Graphics 对象
2011-11-21 17:19
423 查看
我们用GDI+创建绘图,必须先创建Graphics对象,然后才可以使用GDI+的笔、刷等结合Color、Font等对象进行绘制线条形状、填充区域、显示文本图像等操作。Graphices 对象表示GDI+的绘图表面,我们可以理解为画家的画布,是用来绘制图形图像的容器。
有三种方法可以创建Graphics对象:
一、通过Paint事件处理过程中的PaintEventArgs创建Graphics对象
在为控件编制 Paint 事件处理程序时,图形对象作为一个 PaintEventArgs 提供。
下面的示例说明如何引用 Paint 事件的 PaintEventArgs 中的 Graphics 对象:
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
Dim g As Graphics = e.Graphics
Dim mBrush As New SolidBrush(Color.Red)
g.DrawString("巧巧读书网", Me.Font, mBrush, 50.0F, 50.0F)
End Sub
运行后效果如下图所示:
注:关于笔刷的使用单击这里查看,Font对象更多应用参看这里。
二、CreateGraphics 方法
我们还可以通过使用某控件或窗体的 CreateGraphics 方法来灵活获取对 Graphics 对象的引用,该对象表示该控件或窗体的绘图表面。如下代码所示:
我们调用Form窗体的CreateGraphics方法来创建Graphics对象
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim g As Graphics = Me.CreateGraphics
Dim mBrush As New SolidBrush(Color.Red)
g.DrawString("巧巧读书网", Me.Font, mBrush, 50.0F, 50.0F)
End Sub
运行,单击按钮,效果如下所示:
当然,我们也可以引用Button按钮的Graphics对象,如下所示:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim g As Graphics = Button1.CreateGraphics
Dim mBrush As New SolidBrush(Color.Red)
g.DrawString("巧巧读书网", Me.Font, mBrush, 0.0F, 0.0F)
End Sub
运行,单击按钮,将会在按钮的表面显示我们指定的文字,如下图三所示:
三、从 Image 对象创建
另外,我们还可以从由 Image 类派生的任何对象创建图形对象。
调用 Graphics.FromImage 方法,提供要从其中创建 Graphics 对象的 Image 变量的名称,如下代码所示:
Dim myBitmap as New Bitmap("C:\myPic.bmp")
Dim g as Graphics = Graphics.FromImage(myBitmap)
当 Graphics 对象创建后,我们可用它绘制线条和形状、呈现文本或显示与操作图像。与 Graphics 对象一起使用的主体对象有:
Pen 类 - 用于绘制线条、勾勒形状轮廓或呈现其他几何表示形式。
Brush 类 - 用于填充图形区域,如实心形状、图像或文本。
Font 类 - 提供有关在呈现文本时要使用什么形状的说明。
Color 结构 - 表示要显示的不同颜色。
Pen、Brush、Color类我们在《vb.net GDI+入门——画笔、画刷和颜色》中进行了介绍,下面我们继续看《vb.net GDI+入门——了解Font类》
有三种方法可以创建Graphics对象:
一、通过Paint事件处理过程中的PaintEventArgs创建Graphics对象
在为控件编制 Paint 事件处理程序时,图形对象作为一个 PaintEventArgs 提供。
下面的示例说明如何引用 Paint 事件的 PaintEventArgs 中的 Graphics 对象:
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
Dim g As Graphics = e.Graphics
Dim mBrush As New SolidBrush(Color.Red)
g.DrawString("巧巧读书网", Me.Font, mBrush, 50.0F, 50.0F)
End Sub
运行后效果如下图所示:
注:关于笔刷的使用单击这里查看,Font对象更多应用参看这里。
二、CreateGraphics 方法
我们还可以通过使用某控件或窗体的 CreateGraphics 方法来灵活获取对 Graphics 对象的引用,该对象表示该控件或窗体的绘图表面。如下代码所示:
我们调用Form窗体的CreateGraphics方法来创建Graphics对象
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim g As Graphics = Me.CreateGraphics
Dim mBrush As New SolidBrush(Color.Red)
g.DrawString("巧巧读书网", Me.Font, mBrush, 50.0F, 50.0F)
End Sub
运行,单击按钮,效果如下所示:
当然,我们也可以引用Button按钮的Graphics对象,如下所示:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim g As Graphics = Button1.CreateGraphics
Dim mBrush As New SolidBrush(Color.Red)
g.DrawString("巧巧读书网", Me.Font, mBrush, 0.0F, 0.0F)
End Sub
运行,单击按钮,将会在按钮的表面显示我们指定的文字,如下图三所示:
三、从 Image 对象创建
另外,我们还可以从由 Image 类派生的任何对象创建图形对象。
调用 Graphics.FromImage 方法,提供要从其中创建 Graphics 对象的 Image 变量的名称,如下代码所示:
Dim myBitmap as New Bitmap("C:\myPic.bmp")
Dim g as Graphics = Graphics.FromImage(myBitmap)
当 Graphics 对象创建后,我们可用它绘制线条和形状、呈现文本或显示与操作图像。与 Graphics 对象一起使用的主体对象有:
Pen 类 - 用于绘制线条、勾勒形状轮廓或呈现其他几何表示形式。
Brush 类 - 用于填充图形区域,如实心形状、图像或文本。
Font 类 - 提供有关在呈现文本时要使用什么形状的说明。
Color 结构 - 表示要显示的不同颜色。
Pen、Brush、Color类我们在《vb.net GDI+入门——画笔、画刷和颜色》中进行了介绍,下面我们继续看《vb.net GDI+入门——了解Font类》
相关文章推荐
- vb.net GDI+入门——使用Graphics对象绘制线图
- vb.net GDI+入门——使用Graphics对象填充图形
- 图形编程入门之如何创建用于绘制的 Graphics 对象
- 图形编程入门之如何创建用于绘制的 Graphics 对象
- 图形编程入门之如何创建用于绘制的 Graphics 对象
- vb.net office excel 和wps共存,创建正确的excel对象以便操作excel表格
- vb.net GDI+入门——坐标系统与像素
- 在ASP 调用 VB.net 编写的dll 出错 提示:Microsoft VBScript 运行时错误 错误 '800a01ad' ActiveX 部件不能创建对象
- [VB.NET]VB.NET创建外部excel对象
- vb.net GDI+入门——了解Font类
- 图形编程入门之如何创建用于绘制的 Graphics 对象
- vb.net GDI窗体
- C#创建Graphics对象的方法
- Netsharp快速入门(之2) 基础档案(之A 创建插件和资源)
- 使用GDI技术创建ASP.NET验证码
- [NET]Net中的反射使用入门(根据类名和函数名,生成和调用对象的成员函数)
- 组件设计:补白[深入剖析ASP.NET组件设计]一书中HttpApplication对象创建的细节
- Autodesk Map在VB.NET中的二次开发(1:入门)
- 懒惰的人有福了——VS代码段编辑器SnippetEditor 可对vs所有代码段进行编辑和创建包括C#\J#\VB.NET等 (转)
- Unity3D 入门小技巧——克隆游戏对象与创建预制