我用mfc对话框程序接收实时的数据,然后把这些数据转换,用点的形式来一个个打在mfc对话框上:dc.SetPixel(x,y, RGB(255, 0, 0));问题是:我想让它,当打的点达到设定的末尾的时候,我让点进行前移,但是不会超过头部,就是前面的不断消失,后面的不断前移,如限定头部从0开始打点,到尾部1000打点结束。当点从0打到1000后,出现不断前移的现象:头部的点不断消失,最后的点始终在最末尾打出来
我该如何添加代码,才能让打的点在某限定的范围内,出现前移的现象?
我该如何添加代码,才能让打的点在某限定的范围内,出现前移的现象?
当然,最好是分析个类出来,和这个数据关联,比如值的大小对应点的大小,等等
总之,接收到的数据要先存入内存,收到数据存入内存,触发绘制.
要怎么移动\绘制,都是对内存中数据的处理.
方法2麻烦一点好,很好理解(但是前面绘制的看不见了)
2,新采集来的数据填到尾巴的位置
3,头数据对应坐标0,尾巴数据对应最大坐标位置,从头画到尾巴OVER
y=0;
if(Buffer[data+2]=='6')
{
if(y<1000)
x=Buffer[data+2] ;
y+=20;
dc.SetPixel(x,y, RGB(255, 0, 0));
}
其中,Buffer[]里存储接收到的实时数据x,然后把这个点转成像素点输出来,怎么让y不超过1000,并且这样让图形看起来前移?
y=0;
if(Buffer[data+2]=='6')
{
if(y<1000)
x=Buffer[data+2] ;
y+=20;
dc.SetPixel(x,y, RGB(255, 0, 0));
}
其中,Buffer[]里存储接收到的实时数据x,然后把这个点转成像素点输出来,怎么让y不超过1000,并且这样让图形看起来前移?
然后你每隔一定时间就把接收到的实时数据的最后300个数复制到Buffer中。
绘制出Buffer,现象就是你所希望的那样