VB.NET绘图五点基本要素概览

开发 后端
我们可以从创建Graphics对象;画笔;画刷与填充;绘制文字;删除Graphics对象和清屏等方面对VB.NET绘图进行一个详尽的了解。

大家通过对VB.NET的学习,可以知道,它是一种非常实用的开发语言。并且在绘图方面体现了非常大的作用。我们可以通过本文先了解一下VB.NET绘图的一些基本知识,初步掌握这一方面的应用技巧。#t#

VB.NET绘图1. 创建Graphics对象

在VB.Net中,绘制图形需要指定绘图表面。其中,窗体和所有具有Text属性的控件都可以作为绘制图形的表面。因为Graphics对象标识GDI+的绘图表面,所以,绘制图形必须先创建Graphics对象。创建Graphics对象有以下几种方法。

1> 使用CreateGraphics方法创建

这是一种常见的创建方法,其格式为:

Dim 对象名 As Graphics

对象名=窗体名(或控件名).CreateGraphics

2> 利用PaintEventArgs参数传递Graphics对象

通过窗体或控件的Paint事件可以直接完成图形绘制。在编写Paint事件处理程序时,参数PaintEventArgs就提供了图形对象。例如:

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

Dim g_paint As Graphics = e.Graphics

End Sub

3> 从Image 对象创建

还可以使用Image对象来创建,这时要使用Graphics.FromImage方法

VB.NET绘图2. 画笔

画笔是用来画线的GDI+对象,它是Pen类的一个实例。使用画笔可以绘制直线,曲线,以及矩形,圆形,多边形等形状的边框。

1> 建立画笔

格式:

Dim 画笔名 As New Pen(颜色[,宽度])

其中颜色即用画笔绘制线条的颜色,宽度是画笔绘制线条的宽度,单位是像素。宽度的默认值是1。

例如:

Dim mypen As New Pen(Color.Blue)

或Dim mypen As Pen = New Pen(Color.Blue)

2> 绘制线条或空心形状

建立画笔后,就可以用Graphics类的各种方法绘制直线,曲线或矩形,圆形等空心形状的线条。

(1) DrawLine方法——画直线

DrawLine(画笔名,X1,Y1,X2,Y2)

其中,(X1,Y1)和(X2,Y2)是直线的起始点和终止点的坐标,他们可以是Integer值,也可以是Single值。当直线很短时,可以近似为点。

(2) DrawRectangle方法——画矩形

DrawRectangle(画笔名,X,Y,宽度,高度)

其中,(X,Y)时矩形左上角的坐标,宽度和高度指定矩形的宽和长。

(3) DrawPolygon方法——画多边形

DrawPolygon(画笔名,顶点)

其中,顶点是一个数组,该数组类型是Point或PointF结构,数组的各元素用来指定多边形各顶点的坐标。由Point结构指定的是Integer类型,而由PointF指定的是Single类型。

用Point或PointF结构来定义一个点的格式是:

Dim 点名 As New Point/PointF(x,y)

DrawPolygon方法的功能是按数组顶点的顺序连接成一个多边形,两个连续的顶点之间绘制一条边。

(4) DrawEllipse方法——画圆和椭圆

DrawEllipse(画笔名,X,Y,宽度,高度)

方法中的x,y,宽度,高度定义的矩形是要绘制的圆或椭圆的外切矩形,它决定了所画椭圆的大小和形状。当宽度和高度相等时,所画的就是圆,否则就是椭圆。

(5) DrawArc方法——画弧

DrawArc(画笔名,X,Y,宽度,高度,起始角,扫描角)

该方法与DrawEllipse方法相比多了起始角和扫描角两个参数,这可以看作是在截取圆或椭圆而形成的一段弧。起始角和扫描角都是以度为单位的,一般以水平向右的半径为0度,然后按顺时针方向画弧。起始角是开始画弧的角度,扫描角是顺时针方向增加的角度。当扫描角为360度时,画出的就是一个圆或者椭圆。

(6) DrawPie方法——画饼图

DrawPie(画笔名,X,Y,宽度,高度,起始角,扫描角)

饼图也称扇图。该方法与DrawArc方法的参数一样,但是饼图比弧多出两条半径。

VB.NET绘图3. 画刷与填充

在VB.Net中,如果要在闭合图形中填充颜色,图案,或者呈现文本,必须先创建画刷。画刷与绘图方法结合使用,可以用颜色或图案对图形进行填充。GDI+提供了5种画刷,这里只介绍两种常用的。

1> 单色画刷(SolidBrush)

利用SolidBrush类可以定义画刷并初始化一个指定的单一颜色。格式为:

Dim 画刷名 As New SolidBrush(颜色)

Dim 画刷名 As Brush

画刷名 = New SolidBrush(颜色)

2> 模式填充画刷(HatchBrush)

利用HatchBrush类可以定义一个用特定图案填充图形的画刷。格式为:

Dim 画刷名 As New HatchBrush(类型,前景色[,背景色])

其中,类型用来指定填充的图案,它是HatchStyle枚举类型,该枚举类型有50多个成员,每个成员提供一种图案。当在代码编辑窗口中输入HatchStyle后,系统会自动弹出一个HatchStyle枚举类型成员列表供用户选择。

#p#

VB.NET绘图4. 绘制文字

在VB.Net中,窗体或图片框中的文字被作为图形处理,在文本框,标签,列表框等控件中,可以通过文本和图形两种方式文成文字的输出。

通过Graphics类中的DrawString方法可以实现图形文字的输出,使用时,要先定义画刷,然后用画刷画出文字。

1> 字体

输出文字前要先创建字体对象,并先指定字体的名称,大小,样式等。字体对象通过Font类来创建,格式为:

Dim 字体对象 As New Font(名称,大小[,样式[,量度单位]])

其中,名称是指定字体名称的字符串,如隶书,Symbol等。

样式是FontStyle枚举类型。其成员有:

Bold,Italic,Regular,Strikeout(中划线),Underline

量度单位是用来指定字体大小的单位,它是GraphicsUnit枚举类型。其成员有:

Display 1/75英寸

Document 文档单位(1/300英寸)

Inch 英寸

Millimeter 毫米

Pixel 像素

Point 打印机点(1/75英寸)

World 通用

参数样式和量度可以省略,字体的缺省值为常规样式和Point大小单位。样式可以同时指定多个,之间用Or连接。

2> DrawString方法

格式为:

DrawString(字符串,字体,画刷,点)

DrawString(字符串,字体,画刷,矩形)

DrawString(字符串,字体,画刷,X,Y)

点用来指定文本输出的开始位置,它是PointF结构类型。矩形指定文本输出位置,它是RectangleF结构类型。XY指定文本输出的起始位置,都是Single类型。

VB.NET绘图5. 删除Graphics对象和清屏

1> 删除Graphics对象

Graphics对象使用完后应及时删除,以释放该对象占用的资源,使用Dispose方法。

2> 清屏

利用Graphics类的Clear方法可以清除画图工作区的所有内容,并用指定的背景颜色进行填充。

格式:Clear(颜色)

清除窗体的画面,并用颜色填充整个窗体。

责任编辑:曹凯 来源: CSDN
相关推荐

2010-01-13 11:03:13

VB.NET声音播放

2010-01-20 17:54:13

VB.NET特殊字符

2009-10-28 13:46:44

VB.NET目录

2010-01-11 17:16:48

VB.NET快捷键

2010-01-18 10:33:28

VB.NET基本函数

2010-01-11 18:21:22

VB.NET获取硬盘信

2010-01-07 11:38:25

VB.NET键盘事件

2010-01-12 18:21:27

VB.NET任务栏程序

2010-01-13 17:55:37

VB.NET语法规则

2010-01-12 17:21:29

VB.NET对象

2009-10-28 13:24:25

VB.NET文件

2010-01-18 19:29:31

VB.NET多维数组

2010-01-19 15:42:30

VB.NET赋值语句

2010-01-13 16:26:57

VB.NET通知控件

2010-01-15 13:30:50

VB.NET Prog

2010-01-13 10:46:42

VB.NET Dock

2010-01-19 13:06:24

VB.NET数据集

2009-10-23 17:40:24

VB.NET绘图方法

2009-11-03 09:09:19

VB.NET类

2023-12-25 15:10:22

云计算数字化转型云服务转型
点赞
收藏

51CTO技术栈公众号