LCD与触摸屏坐标转换
来源:互联网 发布:单页淘宝客网站源码 编辑:程序博客网 时间:2024/05/20 18:53
想要弄明白LCD屏幕坐标和触摸屏坐标的关系,得先从LCD触摸屏的结构说起。一般我们接触到的触摸屏都有两层,一层是纯粹的LCD液晶显示面板,其上就是一层透明的触摸屏薄膜。要说的是,LCD显示屏和触摸屏都有各自的分辨率指标,也就相当于它们的坐标系,现假定他们的坐标系分别为(x,y)和(X,Y)。就像我所测试的LCD显示屏的分辨率为1024*600,它的坐标原点(0,0)是左上角,右下角坐标为(1024,600),而触摸屏也有它本身的坐标原点O(物理的,固定的,在屏幕中的某一位置,很可能该原点在装配过程中已经被切割掉,但没关系,不影响坐标确定)。
=====================================================================
在实际使用过程中,我们不会关心某个时刻触摸屏的具体坐标是什么,我们所关心的是在LCD屏的坐标系(x,y),然而驱动程序得到的却是触摸屏的坐标系(X,Y),那么我们怎么把两个2维线性坐标系通过几个采样值,对应起来,即(X,Y)—>(x,y), 例,具体的做法是:
————————-
(1)取定LCD屏幕的四个角的坐标作为采样值(因为在没有其他工具的情况下,只有这四个点才知道确切的坐标(x1,y1),(x2,y2),(x3,y3),(x4,y4))
————————-
(2) 运行之前做的输入设备检测程序,分别点击LCD的四个角,在程序中读出这些点对应的触摸屏坐标值(X1,Y1),(X2,Y2),(X3,Y3),(X4,Y4)
————————-
(3) 将这四个采样值代入如下方程,求解出方程中的7个系数(a,b,c,d,e,f,s),就可以得到两个坐标系的对应关系了:
sx=aX+bY+c, sy=eX+fY+g
假定s=65535
sx1=aX1+bY1+c
…..
sy1=eX1+fY1+g
…..
————————
上面的情况是普遍适用的, 全面,精度较高,但求解的未知数多,需要的采样值也多; 事实上,现在的装配工艺完全可以保证两个坐标系的相位差为90度的整数倍, 也就是说,上面的对应方程简可化为
{ x=aX+b, y=cY+d } 或者 { x=aY+b, y=cX+d }
这样,只需要2组采样值, 就可以确定对应系数! 两个坐标系的对应关系就明确了, 一切触摸屏坐标都将根据这个对应关系式转化成LCD坐标系中相应的坐标。
=====================================================================
在实际使用过程中,我们不会关心某个时刻触摸屏的具体坐标是什么,我们所关心的是在LCD屏的坐标系(x,y),然而驱动程序得到的却是触摸屏的坐标系(X,Y),那么我们怎么把两个2维线性坐标系通过几个采样值,对应起来,即(X,Y)—>(x,y), 例,具体的做法是:
————————-
(1)取定LCD屏幕的四个角的坐标作为采样值(因为在没有其他工具的情况下,只有这四个点才知道确切的坐标(x1,y1),(x2,y2),(x3,y3),(x4,y4))
————————-
(2) 运行之前做的输入设备检测程序,分别点击LCD的四个角,在程序中读出这些点对应的触摸屏坐标值(X1,Y1),(X2,Y2),(X3,Y3),(X4,Y4)
————————-
(3) 将这四个采样值代入如下方程,求解出方程中的7个系数(a,b,c,d,e,f,s),就可以得到两个坐标系的对应关系了:
————————
上面的情况是普遍适用的, 全面,精度较高,但求解的未知数多,需要的采样值也多; 事实上,现在的装配工艺完全可以保证两个坐标系的相位差为90度的整数倍, 也就是说,上面的对应方程简可化为
{ x=aX+b, y=cY+d
这样,只需要2组采样值, 就可以确定对应系数!
- LCD与触摸屏坐标转换
- 触摸屏驱动:坐标转换
- LCD触摸屏中LCD屏幕坐标和触摸屏坐标的关系
- LCD触摸屏中LCD屏幕坐标和触摸屏坐标的关系
- Android屏幕坐标和LCD坐标的转换
- 触摸屏的校准与坐标变换
- 窗口坐标与地图坐标的转换
- 地图坐标与屏幕坐标的转换
- SVG坐标系统与坐标转换
- SVG坐标系统与坐标转换
- 屏幕坐标与客户坐标的转换
- 屏幕坐标与客户区坐标转换
- WGS84坐标与北京54坐标转换
- unity世界坐标与相对坐标转换
- 测绘坐标系统与坐标转换
- GPS坐标与百度坐标转换
- UGUI坐标与世界坐标的转换
- 世界坐标与屏幕坐标的转换
- Android实现推送方式解决方案
- PHP程序员最常犯的11个MySQL错误
- 成长
- gitlab5.0 不发送email问题
- App缓存管理
- LCD与触摸屏坐标转换
- 分享一个显示Alert的宏,以后弹对话框只要一句话就OK 了
- java基础--JDK安装和配置
- Alice's Adventures in Wonderland——6、Humpty Dumpty
- Android Push Notification实现信息推送使用
- 第三次c程序课后作业
- 指针练习二
- 设置透明度(兼容所有浏览器)【鸡蛋】
- 用好netsh命令,让你设置ip省大力气