首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c#中的实时打印

c#中的实时打印
EN

Stack Overflow用户
提问于 2011-02-11 00:00:18
回答 1查看 1K关注 0票数 4

我正在尝试在PDA上绘制数据,这是使用c#和windows mobile 5通过蓝牙串行端口实时采集的。我在绘制数据时遇到了问题,因为绘制数据看起来很流畅。我试着从一个点的数组中画一条线,这些点可以工作,但只显示离散的数据块。我在这个论坛上找到了一个关于ECG数据的类似解决方案,它也有效,但它再次显示了一些数据,然后非常明显地刷新了。我试着在位图上绘制点,然后绘制位图以使其更平滑,但仍然不够快。

我想要的是一些类似于windows任务管理器中的CPU使用历史图表的东西。数据点从绘图的右侧开始,并平滑地向左侧移动。对于这样的问题,有没有标准的解决方法?如果这个问题有点模糊,我很抱歉,但如果这是一个众所周知的通用解决方案的问题,我不想花很长时间尝试不同的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-11 00:29:02

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

作为测试,我在CF中做了一些事情,我选择让图表保持静态,让数据线从左到右连续绘制,当它到达右边缘时,它将重新开始在左侧绘制,在进行过程中擦除最旧的图表数据(就像ECG一样)。

在这种情况下,您的位图基本保持不变,因此您不应该重新绘制整个内容。我使用了一个基本上是图表高度的“垂直带”或矩形,但只有10px宽的裁剪表示法。我用更新的轴值重新绘制了该带,因此实际重新绘制的唯一位就是那个小带。它还有一个额外的好处,那就是一旦我回到图表的开头,就可以“擦除”最旧的数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4959451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档