有一个300×300Pixel的绘图区,上面需要动态的绘制采样的数据点。因为有两个通道的数据都要显示在上面,于是又两条曲线是要实时刷新的。这个怎么弄呀,我用双缓存刷洗,一刷新两条线就都没有了......因为两条线的采样间隔不一样,所以不知道怎么弄好呀,怎么能够让两条线刷新的时候不会互相影响呢?

解决方案 »

  1.   

    最主要的问题是两条曲线刷新间隙不一样,1dot/s和1dot/min,而且要显示在同一个区域里。当一条到达右端处时,就需要重绘该曲线的,但是另一条如果没有到末端的话是要保留的。如果要保留记录的话,那我岂不是要每次全刷新,每花一个点都要将前面n个点重绘一次?
      

  2.   

    股票走势吧~我以前用的一个加股的软件,只有1分钟5分钟以及以上的图实时图好象就是一个LISTCTRL一直在里面刷新数据~~~
      

  3.   

    我现在有个大体的思路:1 图谱区的功能1)坐标轴的选择:逻辑坐标或指数坐标显示
    2)刻度线的选择:刻度线能够根据坐标轴的变化而变化,主坐标轴的刻度交错线可以前后移动
    3)绘制点图的选择:可以绘制圆点、方点、菱形、空心圆点图2 图谱区的实现▲ 采用多图层方式:背景图层--维护背景色的刷新;
    框图图层--维护坐标轴、刻度值、标题栏及交错线的刷新;
    前景图层--维护动态点的刷新;==============================================================
    但是遇到了一个难题,就是怎么实现图层的功能呢?简单地使用memDC来一层一层弄吗?我觉得不太好。网上有人说用图层List实现,就是维护一个数组,把需要绘制的点都记录进去。但我觉得这样弄很难去局部刷新,就是我想更新图谱上头的某一小块就难办了......谁能帮忙解决这个问题,50分全部送上!
      

  4.   

    但我觉得这样弄很难去局部刷新,就是我想更新图谱上头的某一小块就难办了......谁能帮忙解决这个问题
    ===============
    为什么要局部刷新,每次都全界面刷新就好了
    另外
    所谓分层就是一个数据组织的问题
    我一般的处理方法是用CArray保存绘制数据
      

  5.   

    1.背景图层-- 维护背景色的刷新;
    2.框图图层-- 维护坐标轴、刻度值、标题栏及交错线的刷新;
    3.前景图层-- 维护动态点的刷新;

    我觉得可以把
    1 -》 OnPaint内
    2和3 -》 OnEraseBkgnd内分开处理。


    图谱每一点的像素先存在数组里面了,刷新的时候一点一点地重新画上去,
    因为处理很快,人眼不会感觉 不连续。