学习VB.NET时,你可能会遇到VB.NET绘制图形问题,这里将介绍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方法
2.VB.NET绘制图形首先要会使用画笔
画笔是用来画线的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方法的参数一样,但是饼图比弧多出两条半径。
【编辑推荐】