请问在VB6中该如何画多条曲线呢Private Sub Form_Load()
MSChart1.chartType = VtChChartType2dLine
Dim arrValues()
ReDim arrValues(1 To 5, 1 To 6)
Dim i As Integer
For i = 1 To 5
arrValues(i, 1) = "t"i 'x轴
arrValues(i, 2) = 0Rnd * 100 '第一条线
arrValues(i, 3) = 0Rnd * 100 '第二条线
arrValues(i, 4) = 0Rnd * 100 '第三条线
arrValues(i, 5) = 0Rnd * 100 '第四条线
arrValues(i, 6) = 0Rnd * 100 '第五条线
Next i
MSChart1.ChartData = https://www.04ip.com/post/arrValues
大佬们~VisualStudio中vb.net如何画三角函数图像?VB系统的坐标原点在左上角,X轴的正方向是水平向右 , 而Y轴的正方向是垂直向下 。所以,要绘制三角函数的曲线,自己可以通过改变点坐标的方法来实现,当然,VB.NET提供了相应的方法可以来实现坐标变换,也可以通过VB.Net的Graphics类提供的平移、旋转等转换来实现 。
下面是我通过自己变换实现的示例,提供参考;我的环境是VB.NET 2010
Imports System.Math
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'1,获得一个Graphics对象
Dim MyGraphics As Graphics
MyGraphics = PictureBox1.CreateGraphics
'2 , 定义一个Pen对象,用于绘制图形(轮廓线)
Dim MyPen As New Pen(Color.Black, 1)
'3,定义一个Brush对象 , 用于填充图形(如果需要填充的话)
Dim MyBrush As New SolidBrush(Color.Orange)
MyGraphics.DrawLine(MyPen, 0, 200, 700, 200)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'1,获得一个Graphics对象
Dim MyGraphics As Graphics
MyGraphics = PictureBox1.CreateGraphics
'2,定义一个Pen对象,用于绘制图形(轮廓线)
Dim MyPen As New Pen(Color.Black, 1)
'3 , 定义一个Brush对象 , 用于填充图形(如果需要填充的话)
Dim MyBrush As New SolidBrush(Color.Orange)
'声明横向和纵向比例变量
Dim Heng As Integer = 20
Dim Zong As Integer = 50
'先获得正弦值,保存到点坐标数组
Dim MyPoints(700) As Point
Dim i As Integer
For i = 0 To 700
MyPoints(i) = New Point(i * Heng, 200Sin(i) * Zong)
Next
'采用绘制光滑线连接点的方式绘制曲线
MyGraphics.DrawCurve(MyPen, MyPoints)
End Sub
End Class
显示的效果图:
如何用VB.NET调用excel的画图命令,即用.NET得到一组点坐标后,调用excel根据点画出曲线图并显示在VB.NET里你可以通过用VB.net控制excel,让excel生成曲线图,然后利用excelVBA将图输出,最后导入到VB.net就可以了 。
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中样条曲线问题不引用的话,VB做不到 。这事情要看VB的版本 。如果是6.0的话,要去网上下载GDIPLUS的库文件或者自己声明GDI 的API 。如果是VB.NET的话,VB自带GDI , 但是也可以下载GDIPLUS库来用 。如果不知道去哪里下载,我下载有,你可以问我要 。我使用VB6.0 。下载gdiplus以后,在VB里面引用这个库,注意要选择“所有文件”才能看到这个库 。gdi 里面的path功能可以实现样条:Private
TOKEN
As
Long'GDI 对象
Private
Graphics
As
Long'画板
Private
Sub
InitGDIPlus()
'初始化GDI
Dim
uInput
As
GdiplusStartupInput
uInput.GdiplusVersion
=
1
If
GdiplusStartup(TOKEN,
uInput)
Ok
Then
'初始化错误
MsgBox
"GDI
初始化错误 。程序即将关闭 。",
vbCritical,
"InitError"
End
End
If
GdipCreateFromHDC
Me.hDC,
Graphics'创建画板
GdipSetSmoothingMode
Graphics,
SmoothingModeAntiAlias'设置为反锯齿
End
SubPrivate
Sub
TerminateGDIPlus()
GdipDeleteGraphics
Graphics
'释放graphics占用的内存
GdiplusShutdown
TOKEN
'关闭GDI
End
SubPrivate
Sub
Form_Load()
InitGDIPlus
'初始化End
SubPrivate
Sub
Command1_Click()
Dim
path
As
Long
Dim
m(3)
As
POINTF
'以下是坐标,你可以自由改变
m(0).x
=
m(0).y
=
m(1).x
=
10
m(1).y
=
100
m(2).x
=
20
m(2).y
【vb.net样条曲线 vb如何绘制曲线图】=
3
m(3).x
=
500
m(3).y
=
100
Dim
pen
As
Long
GdipCreatePen1
HFF000000,
2,
UnitPixel,
pen
'创建画笔 , 用来画出样条
GdipCreatePath
FillModeAlternate,
path
'创建path
GdipAddPathBeziers
path,
m(0),
4
'创建样条'Count是说坐标的个数,points只能传递数组的第一个元素,不能传递数组 。
GdipDrawPath
Graphics,
pen,
path
'画出样条
GdipDeletePen
pen
'删除画笔
GdipDeletePath
path
'删除样条End
SubPrivate
Sub
Form_Unload(Cancel
As
Integer)
TerminateGDIPlus
'删除GDI
End
Sub
vb.net样条曲线的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb如何绘制曲线图、vb.net样条曲线的信息别忘了在本站进行查找喔 。
推荐阅读
- 什么胶可以用在cpu,什么胶可以用在墙布上
- 手机4g怎么用3g网络,手机如何用4g网络
- 鱼泡泡怎么电脑直播,鱼泡泡平台
- java学生信息管理系统源代码 用java做一个学生信息管理系统
- jsp调用linux命令,jsp调用jsp
- sap自定义报表怎么用,sap自定义表修改记录
- 录屏直播漫画,录屏直播漫画怎么弄
- c怎么调用mysql c怎么调用Matlab
- 新媒体如何开展政治动员,如何运用新媒体做好青年思想政治引领工作