1

我正在编写一些数据采集代码。当应用程序获取数据时,它会在内容窗格中绘制图表。对于我们由固定长度扫描组成的数据,现在一切正常:图形只是缩放以适应从 painteventargs 获得的图形对象。我们现在正在实施一种“免费扫描”,它会随着您收集数据而增加长度。我们想从 painteventargs 将不断增加的图形绘制到图形对象,但是一旦它变得比图形对象大,就会产生“内存不足”异常。有没有办法增加图形对象或简单地替换它?我们希望能够使用滚动条来查看所有数据。

谢谢你的帮助!

这是一段代码(注意:我明白为什么我会出现内存不足错误——位图太大。这只是我想做的事情的一次尝试。我在问这个问题因为我现在很难过。):

    System.Drawing.Graphics G = e.Graphics;
    e.Graphics.Clear(System.Drawing.Color.White);                
    Bitmap bm = new Bitmap(10000, 1000);
    Graphics h = Graphics.FromImage(bm);
    h.DrawLine(myPens[0], 0, 0, 1000, 10000);
    G.DrawImage(bm,0,0);
4

1 回答 1

0

我建议您计算平均点并绘制它们而不是每个数据点。这也是通过领先的图表控件完成的。为了不向用户隐藏细节,你应该实现一个缩放功能,它只需要你的数据的特定间隔。放大越多,时间间隔越小。放大的越多,可以显示的细节就越多。希望这个策略能进一步帮助你。

于 2013-07-25T21:23:59.227 回答