[原创]获取Graph控件波形坐标例程
本帖最后由 netcreature 于 2009-6-24 10:25 编辑程序演示了如何获取Graph控件中波形数据的坐标,以及光标在面板和Graph控件中的相对坐标。效果图:
对于随机数据——如白噪声信号,相对比较复杂一点。此处不再演示!
**** Hidden Message ***** 要看看... i want to see it 好东西,先下来看下。 呵呵。学习一下 多谢。 楼主,谢谢你的程序,我仔细看了下你的代码,很有启发
我想把这功能加到采集系统中,可是在判断是否显示的时候遇到了问题,请问楼主该如何解决 你又没有说清楚究竟遇到了什么问题,叫我如何回答? xiexiegongxiang let m see 不好意思,是我没有说清楚,我想解决的问题是:显示的曲线为采集到得数据(而不是用函数生成的数据),如何在这种情况下也能实现当鼠标移动到曲线上时显示坐标,否则不显示! 好东西哦,不过如果曲线是有随机数绘制的,在判断的这个模块就有难度,不知道斑竹如何解决 对于随机数据(如白噪声、采样信号等),一般只是在关键点的数据是有效的,两点之间的数据是通过插值得到的(一般为直线插值);
因此,我们需要通过GetPlotAttribute(panelHandle,ControlID,plotHandle,ATTR_PLOT_XDATA/YDATA,...)将绘图缓冲区的数据拷贝出来,然后,针对鼠标在不同X轴区间,通过直线插值,来得到相应Y轴坐标(在关键点的X点,则对应关键Y点)。
算法比较繁琐,但是肯定能够实现! 谢谢,学习一下 恩,我用的也是版主在13楼的做法,可是在实施过程中却发现了一个问题,问题如下:
GetPlotAttribute(panel,PANEL_GRAPH,handle,ATTR_PLOT_YDATA,&y);
但每次运行时总会提示:“Argument too small.”错误点是在参数y上,而参数y我定义的就为double型。
请问这是什么原因?