阅读:2275回复:1
WinCE下触摸屏坐标校准的问题
在WinCE下遇到一个触摸屏坐标校准的问题,请教各位大侠:
我的情况是这样:我的触摸屏通过RS232由串口和CPU通信,对触摸屏我是不可控制的,当触摸触有摸屏事件时,我直接从串口获取原始坐标数据。在WinCE下,我在pdd的DdsiTouchPanelGetPoint()函数中把串口获取的数据返回给mdd,在该函数中,我使用了TouchSampleIsCalibratedFlag标志,自己对坐标进行了校准,校准如下; 触摸屏的分辨率为4096 x 4096,我通过对触摸屏四个点的坐标测定,得到:(左上角)显示屏的(0,0)对应于触摸屏的(310,3440),(右下角)显示屏的(3200,2400)对应于触摸屏的(3630,370),于是我用下面公式进行坐标校准计算: X = (int) (3200 * (x-310)/(3630-310)); Y = (int) (2400 * ((3440-y)/(3440-370)); 算出来的X,Y坐标就是返回给mdd的校准后的坐标。测试时,我发现有的坐标基本上可以校准(主要是左上角显示器坐标原点附近的点),有的坐标则有较大的偏差,而且偏差的方向和幅度也不一样,在屏幕上边,向上偏差一段距离,在屏幕中间和下边,向下偏差了一段距离. 请教各位大侠,出现这种情况是由于什么原因引起的?是不是我的校准方法不对啊? 万分感谢! |
|
沙发#
发布于:2004-07-16 11:36
建议:
1、先测试一下触摸屏的数据,看触摸屏给的数据是否是线性的,有的触摸屏比较差,偏差比较多。 2、看x,y是否反了。 3、用四点校正,取屏暮上四个点,上下取平均再用两点校正。 4、祝好运 |
|