vb.net制作曲线,vb曲线绘制

vb.net 绘制实时温度曲线

这个要用GDI+画。要看你.net版本。

创新互联主营合川网站建设的网络公司,主营网站建设方案,成都App定制开发,合川h5小程序制作搭建,合川网站营销推广欢迎合川等地区企业咨询

以下是VS2005中的一段代码。

Me.PictureBox1.Height = 450

Me.PictureBox1.Width = 880

Dim gr As Graphics '定义画布

Dim bp As New Bitmap(880, 450) '定义位图,并进行赋值

Dim p As New Pen(Color.Black) '定义画笔

p.Width = 2 '宽度2

p.DashStyle = Drawing2D.DashStyle.Solid '样式直线

PictureBox1.Image = bp

gr = Graphics.FromImage(PictureBox1.Image)

gr.FillRectangle(Brushes.White, New Rectangle(0, 0, PictureBox1.Width, PictureBox1.Height))

gr.DrawLine(p, a, b, a, .Height - b) '绘制纵坐标

gr.DrawLine(p, a, .Height - b, .Width - a, .Height - b) '绘制横坐标

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 实时曲线

拖一个PictureBox1控件 创建一个Paint事件。在事件中加入 Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint ' Create pens. Dim redPen As New Pen(Color.Red, 3) Dim greenPen As New Pen(Color.Green, 3) ' Create points that define curve. Dim point1 As New Point(50, 50) Dim point2 As New Point(100, 25) Dim point3 As New Point(200, 5) Dim point4 As New Point(250, 50) Dim point5 As New Point(300, 100) Dim point6 As New Point(350, 200) Dim point7 As New Point(250, 250) Dim curvePoints As Point() = {point1, point2, point3, point4, _ point5, point6, point7} ' Draw lines between original points to screen. e.Graphics.DrawLines(redPen, curvePoints) ' Draw curve to screen. e.Graphics.DrawCurve(greenPen, curvePoints) End Sub 得到数据后,改point的数据。然后PictureBox1.Refresh()就行了

VB.NETsin曲线

Dim Points1(30) As Point

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

Timer1.Enabled = True

Timer1.Interval = 200

For i = 0 To 30

Points1(i) = New Point(i * 45, Math.Sin(i) * (PictureBox1.Height - 50) / 9)

Points1(i).Offset(-450, Math.Abs(Points1(i).Y - (PictureBox1.Height - 50) / 9) * 3.55 + 43)

Next

End Sub

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Static j As Long

j = j + 1

PictureBox1.Image = x_y(PictureBox1, j)

End Sub

Private Function x_y(ByVal pic As PictureBox, ByVal x As Long) As Bitmap

Dim b As New Bitmap(pic.Width, pic.Height)

Dim g As Graphics = Graphics.FromImage(b)

Dim c

Dim j

g.Clear(Color.YellowGreen)

Dim p As New Pen(Color.WhiteSmoke)

p.EndCap = Drawing2D.LineCap.ArrowAnchor

g.DrawLine(p, 20, pic.Height - 20, 20, 10)

g.DrawLine(p, 20, pic.Height - 20, pic.Width - 20, pic.Height - 20)

Dim i As Double

Dim bs As New SolidBrush(Color.Red)

Dim po As New Point

g.DrawString(-2, Me.Font, bs, 12, pic.Height - 18)

po.X = 0

po.Y = pic.Height - 45

For i = -1.6 To 4 Step 0.4

g.DrawString(Math.Round(i, 1), Me.Font, bs, po.X, po.Y)

g.DrawLine(p, po.X + 18, po.Y + 5, po.X + 20, po.Y + 5)

Dim p1 As New Pen(Color.Blue)

p1.DashStyle = Drawing2D.DashStyle.Dash

g.DrawLine(p1, po.X + 28, po.Y + 5, pic.Width - 20, po.Y + 5)

po.Y -= (pic.Height - 50) / 9

Next

po.X = 20

po.Y = pic.Height - 20

For c = 0 To 14400 Step 1200

If (c / 1200) 0 Then

g.DrawString((c / 1200) + x, Me.Font, bs, po.X - j, po.Y + 5)

End If

g.DrawLine(p, po.X, po.Y + 2, po.X, po.Y)

po.X += (pic.Width - 50) / 12

Next

For i = 0 To Points1.Count - 1

Points1(i).Offset(45, 0)

Next

If x Mod 6 = 0 Then

For i = 0 To Points1.Count - 1

Points1(i).Offset(-270, 0)

Next

End If

g.DrawCurve(Pens.Red, Points1)

'For i = 0 To Points1.Count - 1

'g.DrawString(Math.Sin(i), Me.Font, Brushes.Red, Points1(i))

'Next

Return b

End Function

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

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

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

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

vb.net 画二维数组的曲线图

Private Sub PictureBox2_Paint(sender As Object, e As PaintEventArgs) Handles PictureBox2.Paint

Dim points As New List(Of Point)

points.Add(New Point(0, 0))

points.Add(New Point(1, 10))

points.Add(New Point(3, 15))

points.Add(New Point(14, 0))

points.Add(New Point(20, 60))

points.Add(New Point(40, 20))

points.Add(New Point(70, 50))

e.Graphics.DrawCurve(Pens.Red, points.ToArray)

End Sub

供参考,points可设为全局变量,那样add随便在哪增加,想要看见看上去动态的图,那就在新增完n个后,继续增加n+1个之时,放弃points中的第一个。


当前标题:vb.net制作曲线,vb曲线绘制
本文链接:http://myzitong.com/article/hcosei.html