扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
。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连续绘制曲线图不消失怎么办?b.net连续绘制曲线图不消失的解决办法如下:
1、首先必须创建bitmap,关联到picturebox1.image上。
2、再在picturebox1.image上创建Graphics,再进行作图。即可显示线图。
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
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流