netcreature 发表于 2009-6-23 12:22:07

[原创]获取Graph控件波形坐标例程

本帖最后由 netcreature 于 2009-6-24 10:25 编辑

程序演示了如何获取Graph控件中波形数据的坐标,以及光标在面板和Graph控件中的相对坐标。效果图:

对于随机数据——如白噪声信号,相对比较复杂一点。此处不再演示!
**** Hidden Message *****

hcwz 发表于 2009-6-23 17:25:51

要看看...

jiajf2002 发表于 2009-6-23 22:04:45

i want to see it

qilongte 发表于 2009-6-24 11:54:14

好东西,先下来看下。

wangyuhui727 发表于 2009-6-24 12:27:40

呵呵。学习一下

yzbjw 发表于 2009-6-24 14:17:03

多谢。

wangyuhui727 发表于 2009-6-26 12:38:26

楼主,谢谢你的程序,我仔细看了下你的代码,很有启发
我想把这功能加到采集系统中,可是在判断是否显示的时候遇到了问题,请问楼主该如何解决

netcreature 发表于 2009-6-26 13:59:45

你又没有说清楚究竟遇到了什么问题,叫我如何回答?

yaorg 发表于 2009-6-28 00:40:49

xiexiegongxiang

lifeisgood2008 发表于 2009-6-29 16:32:11

let m see

wangyuhui727 发表于 2009-6-30 09:53:58

不好意思,是我没有说清楚,我想解决的问题是:显示的曲线为采集到得数据(而不是用函数生成的数据),如何在这种情况下也能实现当鼠标移动到曲线上时显示坐标,否则不显示!

hubeiyk 发表于 2009-6-30 15:15:35

好东西哦,不过如果曲线是有随机数绘制的,在判断的这个模块就有难度,不知道斑竹如何解决

netcreature 发表于 2009-6-30 16:39:13

对于随机数据(如白噪声、采样信号等),一般只是在关键点的数据是有效的,两点之间的数据是通过插值得到的(一般为直线插值);
因此,我们需要通过GetPlotAttribute(panelHandle,ControlID,plotHandle,ATTR_PLOT_XDATA/YDATA,...)将绘图缓冲区的数据拷贝出来,然后,针对鼠标在不同X轴区间,通过直线插值,来得到相应Y轴坐标(在关键点的X点,则对应关键Y点)。
算法比较繁琐,但是肯定能够实现!

nizaihefang 发表于 2009-7-1 08:39:58

谢谢,学习一下

wangyuhui727 发表于 2009-7-1 15:53:15

恩,我用的也是版主在13楼的做法,可是在实施过程中却发现了一个问题,问题如下:
GetPlotAttribute(panel,PANEL_GRAPH,handle,ATTR_PLOT_YDATA,&y);
但每次运行时总会提示:“Argument too small.”错误点是在参数y上,而参数y我定义的就为double型。
请问这是什么原因?
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: [原创]获取Graph控件波形坐标例程