vb.net如何画曲线图,vb 曲线图

如何在VB中画曲线

在VB中绘制实时曲线是比较难的,一般要应用第三方控件或是Windows

在沐川等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、成都网站设计 网站设计制作按需定制设计,公司网站建设,企业网站建设,成都品牌网站建设,成都营销网站建设,成都外贸网站制作,沐川网站建设费用合理。

API函数来完成,但是如果你对实时曲线的要求不是很高,只要能表示出当前的一般情况的话,我们可以直接应用VB提供给我们的空间来完成.

原则上讲,直接在Form里绘制曲线都是可以的,MSDN上面很多例程就是直接在Form里面绘制图形的,Form作为绘制图形的容器,不过一般应用中Form中不可避免的会有很多其他控件,所以我们选择PictureBox作为绘制曲线的容器.

实时曲线的绘制一般借助于Timer控件来完成,使用Timer控件,定期将串口或是其他仪器中监测到的数据送往PictureBox1,而曲线的绘制一般画成折线图,采用PictureBox1的Line方法绘制.具体实现如下:

1.选择需要显示的窗体Picture1,加入图片框Picture1,根据实际需要设置图片的大小并移到合适的位置,并在图片的外面画好量程----时间坐标系;然后加上Timer控件以及两个CommandButton,界面就基本设置好了.

2.建立坐标系,根据Picture1的大小和高度设置画出坐标系的X轴和Y轴:

Picture1

.ScaleMode

=

1

‘以VB的基本单位作为建立坐标轴以及绘制图形的单位;

Picture1.Refresh

Picture1.CurrentX

=

Picture1.ScaleLeft

+100

Picture1.CurrentY

=

Picture1.ScaleTop

Picture1.Print

Picture1.ScaleHeight

-

100

Picture1.Line(Picture1.ScaleLeft+100,Picture1.ScaleTop+100)-(Picture1.ScaleLeft+100,

Picture1.ScaleHeight

-

100)

Picture1.CurrentX

=

Picture1.ScaleLeft

+100

Picture1.CurrentY

=

Picture1.ScaleHeight

Picture1.Print

“(0,0)”

Picture1.Line

(Picture1.ScaleLeft

+

100,

Picture1.ScaleHeight

-

100)-(Picture1.ScaleWidth

-

100,

Picture1.ScaleHeight

-

100)

Picture1.CurrentX

=

Picture1.ScaleWidth

Picture1.CurrentY

=

Picture1.ScaleHeight

Picture1.Print

Picture1.ScaleWidth-100

Picture1.AutoRedraw

=

True

‘必要时,用存储在内存中的图象进行重绘

3.绘制曲线并保存,我们这里以正弦曲线作为绘制曲线的数据来源,具体应用是可以采用由串口或其他仪器采集得到的数据.首先我们绘制一条中线,然后在Timer控件的Time事件中绘制曲线:

Picture1.Line

(Picture1.ScaleLeft,

CInt(Picture1.ScaleHeight

/

2))-(Picture1.ScaleWidth,

CInt(Picture1.ScaleHeight

/

2))

‘绘制中线

Private

Sub

Timer1_Timer()

Dim

y1

As

Integer

y1

=

CInt(Sin((x

-

Picture1.Left)

/

20

/

180

*

pi)

*

Picture1.ScaleHeight

/

2)

y1

=

CInt((Picture1.ScaleHeight

+

1000)

/

2)

-

y1

Picture1.Line

(x,

y)-(x

+

20,

y1)

x

=

x

+

20

y

=

y1

If

x

=

Picture1.ScaleWidth

Then

SavePicture

Picture1.Image,

"c:\sin.bmp"

‘保存图画,

vb.net绘制曲线图

。net  其实还是很好绘制图形的

你可以看下 Graphics  类

Dim d As New Bitmap(Me.Width, Me.Height)  ‘一个图片吧

  Dim g As Graphics = Graphics.FromImage(d)’绘制  准备在这个图片是进行

然后  就是你绘制的东西了

线 就是   g.DrawLine()

圆 弧度  就用  g.DrawArc(Pens.Black, New Rectangle(0, 0, 400, 200), 0, 360)

复杂的就是      g.DrawBezier()

等  如果你用的是 VS的  编译  上面都有详细的参数说明

Dim d As New Bitmap(Me.Width, Me.Height)

Dim g As Graphics = Graphics.FromImage(d)

g.DrawArc(Pens.Black, New Rectangle(0, 0, 200, 200), 0, 360)

g.DrawLine(Pens.Red, New Point(0, 0), New Point(200, 200))

g.DrawLines(Pens.Green, New Point() {New Point(0, 0), New Point(50, 40), New Point(50, 80), New Point(90, 70), New Point(100, 400)})

g.DrawBezier(Pens.Yellow, New Point(0, 100), New Point(0, 0), New Point(200, 0), New Point(200, 200))

g.Dispose()

Me.BackgroundImage = d

vb.net连续绘制曲线图不消失

您好,您是想问vb.net连续绘制曲线图不消失怎么办?b.net连续绘制曲线图不消失的解决办法如下:

1、首先必须创建bitmap,关联到picturebox1.image上。

2、再在picturebox1.image上创建Graphics,再进行作图。即可显示线图。


当前名称:vb.net如何画曲线图,vb 曲线图
URL链接:http://csdahua.cn/article/dsijjed.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流