VB2005下绘制曲线

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB2005下绘制曲线

VB2005提供了各种曲线的绘制,VB2005里面曲线的绘制不像VB中,可以直接调用form.line或是pictrue1.line及其它方法

VB2005里面提供了一个叫做Graphics的接口类,该类中提供了很多绘制曲线的方法,如:

Public Sub DrawArc(ByVal pen As System.Drawing.Pen, ByVal x As Integer, ByVal y As Integer, _

ByVal width As Integer, ByVal height As Integer, ByVal startAngle As Integer, ByVal sweepAngle As Integer)

该方法是用来绘制一段圆弧。

Public Sub DrawBezier(ByVal pen As System.Drawing.Pen, ByVal x1 As Single, ByVal y1 As Single,_

ByVal x2 As Single, ByVal y2 As Single, ByVal x3 As Single, ByVal y3 As Single, ByVal x4 As Single, ByVal y4 As Single)

该方法用来绘制贝塞尔曲线。

Public Sub DrawClosedCurve(ByVal pen As System.Drawing.Pen, ByVal points() As System.Drawing.Point)

该方法是用来绘制一个封闭的由所提供的点组成的线框。

Public Sub DrawCurve(ByVal pen As System.Drawing.Pen, ByVal points() As System.Drawing.Point)

该方法绘制经过一组指定的 System.Drawing.Point 结构的基数样条

Public Sub DrawEllipse(ByVal pen As System.Drawing.Pen, ByVal x As Integer, ByVal y As Integer,_

ByVal width As Integer, ByVal height As Integer)

该方法绘制一个由边框(该边框由一对坐标、高度和宽度指定)定义的椭圆。Public Sub DrawIcon(ByVal icon As System.Drawing.Icon, ByVal x As Integer, ByVal y As Integer)

该方法在指定坐标处制由指定的 System.Drawing.Icon 表示的图像。

Public Sub DrawImage(ByVal image As System.Drawing.Image, ByVal x As Integer, ByVal y As Integer)

该方法在由坐标对指定的位置,使用图像的原始物理大小绘制指定的图像。Public Sub DrawLine(ByVal pen As System.Drawing.Pen, ByVal x1 As Integer, ByVal y1 As Integer,_

ByVal x2 As Integer, ByVal y2 As Integer)

该方法绘制一条连接由坐标对指定的两个点的线条。

Public Sub DrawLines(ByVal pen As System.Drawing.Pen, ByVal points() As System.Drawing.Point)

该方法绘制一系列连接一组 System.Drawing.Point 结构的线段。

Public Sub DrawPie(ByVal pen As System.Drawing.Pen, ByVal x As Integer, ByVal y As Integer,_

ByVal width As Integer, ByVal height As Integer, ByVal startAngle As Integer, ByVal sweepAngle As Integer)

该方法绘制一个扇形,该形状由一个坐标对、宽度、高度以及两条射线所指定的椭圆定义。

Public Sub DrawRectangle(ByVal pen As System.Drawing.Pen, ByVal x As Integer,_

ByVal y As Integer, ByVal width As Integer, ByVal height As Integer) 该方法绘制由坐标对、宽度和高度指定的矩形。

以上几种是常见的画图形常用的方法。

在VB2005里面画图,首先要获得Graphics,也就是图形的接口,以现实作对比的话,就像是你要画画,总要先找张纸吧,

这里的Graphics就是一张纸,有两种方法可以获得这张纸:

1.在Paint事件里面,可以直接用e.Graphics的方法,比如,

e.Graphics.Drawline(...)

2.通过创建Graphics,先定义一个Graphics,

dim g as Graphics

然后,创建一个图形的Graphics对象:g=PictureBox1.CreateGraphics()

当然用完了,别忘了Dispose()将所用的资源释放掉

有了纸,还得要笔,那么我们可以创建一支笔,然后使用它:

Dim m_pen As System.Drawing.Pen '先定义一支笔

m_pen = New System.Drawing.Pen(Color.Red, 1) '创建一支笔,同时定义了它的一些属性

m_pen.Color = Color.Black '也可以在后面修改它的属性,包括线的颜色,线的宽度等

实际上这个过程就相当于你去画笔盒里找一支想要的笔。

有了笔之后,就可以画画了吗?是的,不过你得知道往纸的什么地方画吧,好,这张纸有坐标呀,不过这纸的坐标和我们通常

的不一样,它的X坐标和我们是一样的,它的Y坐标和通常的坐标相反,它是从上向下依次增大的,那好,我们把我们的常规坐标

反一反,不就可以了吗,是的,将你所画的纸宽度减掉你的常规坐标,但是仅此还是不够的,纸的大小毕竟有限,要是你的图形

很大,怎么办,简单,缩放呗。假设你X坐标范围是0-1000,Y坐标范围是0-500,而你的纸,比如,picturebox1吧,它的宽度是

100,高度是100,那么你的坐标必须缩放,X轴缩放为原来的1/10,Y轴缩放为原来的1/5。

说了这么多,我们来写个例子吧:

新建一个窗体,在窗体上放一个PictureBox1,再放置一个按钮,在按钮的属性里调用下面的过程

定义一个过程:

Sub DrawOurline()

dim ScaleFactorX as Single

dim ScaleFactorY As Single

Private m_Point(1000) As PointF'定义一个数组,用来放点(浮点数格式)Dim LPointArray(1000) As PointF

Dim m_pen As System.Drawing.Pen'定义一只笔

Dim i As Int16

相关文档
最新文档