gpt4 book ai didi

c# - 在 C# 中实时绘图

转载 作者:行者123 更新时间:2023-11-30 12:52:16 26 4
gpt4 key购买 nike

我正在尝试在 PDA 上绘制数据,这些数据是使用 c# 和 Windows Mobile 5 通过蓝牙串行端口实时收集的。我无法以看起来平滑的方式绘制数据。我曾尝试从一组有效但只真正显示离散数据 block 的点中画一条线。我在这个论坛上找到了一个引用 ECG 数据的类似解决方案,它也有效,但它再次显示了一些数据,然后非常明显地刷新了。我试过将点绘制到位图上,然后绘制位图以使其更平滑,但速度还是不够快。

我希望最终得到的结果类似于 Windows 任务管理器中的 CPU 使用历史记录图。数据点从绘图的右侧开始,然后平滑地移动到左侧。是否有解决此类问题的标准方法?如果问题有点含糊,我深表歉意,但如果众所周知的通用解决方案存在问题,我不想花很长时间尝试不同的事情。

最佳答案

这在某种程度上取决于您希望它在视觉上如何工作。任务管理器中的CPU使用率从右到左滚动整个图表,一点也不流畅。它大约每秒刷新一次(无论如何对我来说),当它刷新时,整个图表会“颠簸”到一边。

我在 1.0 天前在 CF 中做了一些测试,我选择让图表保持静态并让数据线从左到右连续绘制,当它到达右边缘时,它会再次开始绘制回到左边,随着它的进展删除最旧的图表数据(就像心电图一样)。

对于那种情况,您的位图基本保持不变,因此您不应该重新绘制整个东西。我通过使用基本上是“垂直带”或矩形图表高度但只有 10 像素宽的裁剪区域来做到这一点。我用更新后的轴值重新绘制了那个带,所以实际被重绘的唯一位是那个小带。一旦我回到图表的开头,它还有一个额外的好处,那就是执行可见的“删除”最旧的数据。

关于c# - 在 C# 中实时绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4959451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com