vb.net GDI+入门——使用Graphics对象绘制线图


在实际应用中,很多图形是由点和线构成的,vb.net的Graphics 类提供了很多画线图的方法,我们可以使用这些重载了的方法组合出丰富的图案来。

下面我们就来了解下这些绘线图的方法。

一、DrawLine 方法

该方法绘制一条连接由坐标对指定的两个点的线条,所以我们需要指定这两个点的坐标,如下所示:

DrawLine(pen,x1,y1,x2,y2)或者DrawLine(pen,Point1, Point2)

下面示例将在PictureBox控件表面绘制一条直线:

Dim g As Graphics = Me.PictureBox1.CreateGraphics

Dim mpen As New Pen(Color.Red)

g.DrawLine(mpen, 0, 80, 0, 160)

也可以使用如下代码来实现一样的效果:

Dim g As Graphics = Me.PictureBox1.CreateGraphics

Dim mpen As New Pen(Color.Red)

Dim p1 As Point = New Point(0, 80)

Dim p2 As Point = New Point(0, 160)

g.DrawLine(mpen, p1, p2)

当然,我们也可以使用DrawLine方法画出更加复杂的图形,如下代码所示:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim g As Graphics = Me.PictureBox1.CreateGraphics

Dim mpen As New Pen(Color.Red)

Dim i As Integer

For i = 0 To 160 Step 10

g.DrawLine(mpen, 0, 80, i, 0)

g.DrawLine(mpen, 0, 80, i, 160)

g.DrawLine(mpen, 160, 80, 160 - i, 160)

g.DrawLine(mpen, 160, 80, 160 - i, 0)

Next

End Sub

运行后效果如下图一所示:

二、DrawLines 方法

该方法绘制一系列连接一组 Point 结构的线段,它按顺序把每个点都连接起来,构成一段曲线,DrawLines的形式如下:

DrawLines(Pen, Point())

Point()参数就是一个由一系列的点构成的数组。

如下代码所示,我们要在PictureBox 控件中绘制一条由四个不同的坐标点构成的曲线:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim g As Graphics = Me.PictureBox1.CreateGraphics

Dim mpen As New Pen(Color.Red)

Dim Points As PointF() = {New PointF(0.0F, 0.0F), New PointF(10.0F, 15.0F), New PointF(20.0F, 20.0F), New PointF(50.0F, 100.0F)}

g.DrawLines(mpen, points)

End Sub

运行效果如下图二所示:

如图曲线的起点、两个折点、终点就是我们Pionts变量中指定的四个点。该方法比较适用于连接如股票的波动线等由大量的点构成的波动曲线。

三、DrawEllipse方法

使用 DrawEllipse 方法可以绘制一个由边框定义的椭圆,该边框是由椭圆的左上角坐标,高度以及宽度决定的。

DrawEllipse 方法的常用形式:DrawEllipse(x,y,width,height)

x,y为椭圆的左上角坐标点,width为椭圆的矩形宽,height为椭圆的矩形高

如下代码所示,我们在PictureBox控件中绘制一个红色的椭圆:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim g As Graphics = Me.PictureBox1.CreateGraphics

Dim mpen As New Pen(Color.Red)

g.DrawEllipse(mpen, 0, 0, 150, 150)

End Sub

运行效果如下图三所示:

在以上示例中,我们绘制出来的是一个正圆,正圆实际上就是椭圆的特殊表现。

四、DrawArc方法

用 DrawArc 方法可以一段椭圆弧,方法格式如下:

DrawArc(Pen, x, y, Swidth, height, StartAngle, SweepAngle)

x, y, Swidth, height这四个参数指定了椭圆的结构

StartAngle为椭圆弧的起始角度,该角度是在指以椭圆的圆心为坐标原点、X轴向右为正方向的坐标系中,圆弧起点与X轴的夹角。

SweepAngle 为圆弧扫过的角度值,以StartAngle参数所指定的起点沿顺时针方向扫过的度数。

如下示例代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim g As Graphics = Me.PictureBox1.CreateGraphics

Dim mpen As New Pen(Color.Red)

g.DrawArc(mpen, 0.0F, 0.0F, 100.0F, 100.0F, 0.0F, 270.0F)

End Sub

运行效果如下图四(一)所示。

我们把

g.DrawArc(mpen, 0.0F, 0.0F, 100.0F, 100.0F, 0.0F, 270.0F)

改为

g.DrawArc(mpen, 0.0F, 0.0F, 100.0F, 100.0F, 90.0F, 270.0F)

运行后如下图四(二)所示:

对比以上两图,我们可以知道,决定圆弧的起始位置的参数为:StartAngle,而 SweepAngle 决定了圆弧扫过的度数。

 

本文作者:



相关阅读:
Asp.Net 动态页面转静态页面主要代码
用phpMyAdmin管理MySQL数据库
asp.net 的错误处理机制讲解
JS查看对象功能代码
Windows Server 2008远程管理故障解决上
漂亮样式表在XHTML+CSS网页制作中的应用
css+js实现select列表横向排列效果代码
mysql 数据库中索引原理分析说明
腾讯QQ for Linux v1.0 Preview正式发布
DB2 Viper 快速入门
与HTML相比XHTML有什么特点?
IIS下安装PHP4及MySQL
高手进阶:/etc/profile环境变量配置解析
Apache重写规则的常见应用
快速导航

Copyright © 2016 phpStudy |