如何在VB.NET中画.wave文件的波形图
在VB.NET中画直线好像是要用代码实现了吧,原来在VB6是直接用控件就可以实现了,有没有人知道在.NET里面画波形图的代码应该如何写?
__________________________________________________________________________
http://www.wave12.com/web/MulCon.asp?ID=17
__________________________________________________________________________
添加一个PictureBox1 As PictureBox,然后声明一个b As New Bitmap(PictureBox1.Width,PictureBox1.Height),声明一个g As Drawing.Graphics = Drawing.Graphics.FromImage(b)。再令PictureBox1.Image = b。
最后你可以对g调用Drawing.Graphics的各种绘图函数。绘图完了之后调用
PictureBox1.Invalidate()
PictureBox1.Update()
强制PictureBox1重绘。
这样就可以了。
相信你应该知道.wave文件的波形图的画法,仅仅是不知道其在VB.Net中的写法。
__________________________________________________________________________
不好意思,我是新手,不会画波形图,能不能再顺便告诉我下该怎么画波形图呢?
__________________________________________________________________________
我这儿有个绘制曲线的,不知对你有没有用?
http://blog.csdn.net/wzuomin/archive/2006/12/13/1441127.aspx
__________________________________________________________________________
如果有数据的话,用ZedGraph很简单
__________________________________________________________________________
不会 支持
__________________________________________________________________________
还是不行啊 ,不怎么会,谁能给个例子我看看就好了,完全不知道应该怎么去画。。。
__________________________________________________________________________
代码,你用你读得的Wave文件的点替代这里面的Points就行了。
不要再问我Wave文件怎么读,因为我也不知道。
Imports System.Math
Public Class Form1
Private g As Drawing.Graphics
Private Sub Form1_Load(ByVal sender As Object,ByVal e As System.EventArgs) Handles Me.Load
PictureBox1.Image = New Bitmap(PictureBox1.Width,PictureBox1.Height)
''初始化绘图对象
g = Drawing.Graphics.FromImage(PictureBox1.Image)
''设置光滑模式为反锯齿
g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
''使用一个List来存储曲线上的点
Dim Points As New List(Of Point)
For n As Integer = 0 To 180
Dim theta As Integer = n * 2
Points.Add(Transform(n - 90,Sin(theta / 180 * PI) * 100))
Next
''用贝塞尔曲线连接来绘制曲线
g.DrawBeziers(Pens.Black,Points.ToArray)
''强制更新PictureBox
PictureBox1.Invalidate()
PictureBox1.Update()
End Sub
'' '' ''