简单简述VB.NET绘制图形

开发 后端
这里介绍VB.NET绘制图形需要指定绘图表面。其中,窗体和所有具有Text属性的控件都可以作为绘制图形的表面。因为Graphics对象标识GDI+的绘图表面,所以,绘制图形必须先创建Graphics对象。

学习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就提供了图形对象。例如:

  1. Private Sub Form1_Paint(ByVal sender As Object, 
    ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint  
  2. Dim g_paint As Graphics = e.Graphics  
  3. …  
  4. 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方法的参数一样,但是饼图比弧多出两条半径。

【编辑推荐】

  1. 深入分析VB.NET条件语句中的两类
  2. 五大类VB.NET运算符全面介绍
  3. 全面讨论VB.NET申明Windows API函数
  4. 剖析VB.NET平台调用是如何执行操作
  5. 分享个人总结VB.NET多线程
责任编辑:佚名 来源: IT168
相关推荐

2009-10-16 10:36:35

VB.NET绘制GDI

2023-09-07 08:24:35

图形编辑器开发绘制图形工具

2009-11-04 08:53:57

VB.NET AddH

2011-06-30 15:09:37

QT 绘制 图形

2010-01-12 10:48:54

VB.NET LIST

2009-10-20 17:38:20

VB.NET exce

2009-10-16 13:26:53

VB.NET Exce

2010-01-07 13:51:50

VB.NET数组赋值

2010-01-20 18:10:27

VB.NET访问级别

2013-12-04 16:07:27

Android游戏引擎libgdx教程

2010-01-12 10:19:02

VB.NET操作GDI

2013-12-27 13:00:30

Android开发Android应用Context Men

2009-10-09 17:40:38

VB.Net问题集

2009-10-13 14:38:10

VB.NET访问类型

2009-11-10 10:28:20

VB.NET诞生

2009-10-15 09:02:19

VB.NET申明数组

2010-01-15 15:39:14

VB.NET Sub过

2009-10-19 08:55:22

VB.NET多重继承

2009-10-23 13:10:14

VB.NET List

2009-10-14 13:56:05

VB.NET数据窗体
点赞
收藏

51CTO技术栈公众号