[VB.NET]如何在VB.NET中画.wave文件的波形图
发布时间:2020-12-16 23:47:38 所属栏目:大数据 来源:网络整理
导读:如何在VB.NET中画.wave文件的波形图 在VB.NET中画直线好像是要用代码实现了吧,原来在VB6是直接用控件就可以实现了,有没有人知道在.NET里面画波形图的代码应该如何写? __________________________________________________________________________ http:/
如何在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 '' '' '' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |