本人欲写一个类似于示波器一样的信号实时显示界面,在进行动态刷新的同时,为了能寻找信号的周期,必须将实时信号缩小一定的倍数来观察.
目前我是这样实现的:使用一个1ms 的定时器逐个将数组中的数据通过描点的方式动态显示.如果要缩小N倍,则每隔N个数据显示一个点.
但是这样很明显的,随着N的增大,图像失真越来越严重.
在此请教一下,如何能实现向示波器那样的,缩小了之后感觉点数没有少,失真也可以接受.(老板要求两周搞定,请大家不吝赐教.)
目前我是这样实现的:使用一个1ms 的定时器逐个将数组中的数据通过描点的方式动态显示.如果要缩小N倍,则每隔N个数据显示一个点.
但是这样很明显的,随着N的增大,图像失真越来越严重.
在此请教一下,如何能实现向示波器那样的,缩小了之后感觉点数没有少,失真也可以接受.(老板要求两周搞定,请大家不吝赐教.)
如果你用的是其它精确计时方法的话。我觉得你不用每隔N个数据显示一点,而改用数据全部显示,但是把X轴单位加大,比如原来20个相素显示10个数据点,那现在就用20个相素显示20个数据点,这样就缩小了一倍(或者说显示范围扩大了一倍)。显示40个数据点,那肯定有20个是实际没有显示上去的,但是因为被相邻的相素所覆盖,但是失真是不会很大的。总之一句话,调整比例,而不牺牲采样点。
若区域面积变小了,你是怎么做到失真少的,能否给个代码参考一下,我也在研究这些问题,好像缩小了失真严重,不知道有没有好的做法
遗憾的是,使用StretchBlt没有成功。
不过,仍然感谢大家的热情相助。