我想在将来用C# .NET 4.0做一些音频项目,所以我收集了一些用于录音,处理波形文件等的代码样本。但我还没有找到的是:
如何实时(Ish)绘制音频波形/频谱图?显然,创建内存中的位图并将其加载到图片框中会非常慢,对吧?那么,最简单的方法是什么呢?
谢谢!
发布于 2012-02-28 17:30:49
您可以使用基于GDI+的Graphics and Drawing in Windows Forms直接绘制您的内容。这将比渲染为位图并在图片框中显示不断变化的内容快得多。
发布于 2012-02-28 18:11:42
只需直接在合适的控制表面上绘制,即面板。获取控件的图形上下文,并在Paint-event中使用Invalidate()函数更新它。每次失效时,都会自动调用Paint。这是您想要放置绘图逻辑的位置。
更新它的最好方法是使用DrawImageUnscaled()。图像本身是用LockBits方法制作的最快的,这里解释得很好:
https://web.archive.org/web/20141229164101/http://bobpowell.net/lockingbits.aspx
https://stackoverflow.com/questions/9486712
复制相似问题