硬件平台:GEC2440开发板.配八寸液晶屏,分辩率为800*480.
软件平台:WINCE5.0
开发语言:C AND C++
问题描述:
现已完成TOUCH.DLL的函数导出.并且在导出的TouchPanelEnable函数中注册了一个回调函数.该回调函数在触摸屏发生点击动作时,返回触摸屏的坐标数据.问题是如何将触摸屏的坐标数据转换成液晶屏的坐标数据?请给出完整的解决方案!谢谢!
这个在你的触摸屏芯片的资料中应该有解决方案,其实对于液晶的显示肯定没有问题,就是得到触摸屏的坐标后如何处理,我假定你已经了解触摸屏的物理原理了,点击触摸屏上下顶点,获得两个坐标,(x1,y1)和(x2,y2),x1 = x2,记录下来,然后随便点击一个位置,获得的y值肯定在y1和y2之间,根据比例算出位置,然后映射到液晶上,根据比例显示出来就可以,大致的过程就是这样,x的值也可以这样计算出来,期间需要注意的是消除抖动问题。
控制面板有一个触摸屏的校正,校正后然后根据校正的信息算,
Sx = A1*Tx + B1*Ty + C1
Sy = A2*Tx + B2*Ty + C2
通过前面提到的矩阵是用来校正数据的,另外,触屏驱动拿到的数据是要除以4才能和屏幕大小相匹配的.