【发布时间】:2011-12-01 15:18:49
【问题描述】:
我正在编写一个 C# 程序来显示音频信号,我成功如下,
- 我将图片框放在表单的滚动面板上。
- 对PCM数据进行采样,制作位图,放在图片框上。
但最近我发现位图的大小在 C# 中是有限的(2^16 像素)。因此,使用位图对象显示长音频文件是不可能的。
我正在寻找解决此问题的替代解决方案(直接绘制到图片框)。有人可以帮我吗?
【问题讨论】:
-
捕获picturebox.paint 事件,并使用
Graphics对象进行绘制。您需要创建几个屏幕外Bitmaps。 -
控件的大小限制为 2^16。所以不要使用图片框。设置面板的 AutoScrollMinSize 属性并实现其 Paint 事件。使用 AutoScrollPosition 找出索引数据的位置。在其 Scroll 事件中调用 Invalidate()。