我希望将来在C#.NET 4.0中做一些带音频的项目,所以我收集了一些用于录音的代码示例,使用WAVE文件等。但是我找不到的是:
如何实时绘制音频波形/频谱图(ish)?显然,创建内存中的位图并将其加载到图片框中会非常慢,对吧?那么,最简单的方法是什么?
谢谢!
答案 0 :(得分:1)
您可以使用基于GDI +的Graphics and Drawing in Windows Forms直接绘制内容。这将比渲染到位图并在图片框中显示不断变化的内容快得多。
答案 1 :(得分:1)
直接在合适的控制面上涂漆,即面板。获取控件的图形上下文,并使用Invalidate()函数在Paint事件中更新它。每次无效时,都会自动调用Paint。这是您想要绘制逻辑的地方。
更新它的最佳方法是使用DrawImageUnscaled()。图像本身使用LockBits方法制作得最快,在这里解释得非常好: