先记下来4线电阻式触摸屏的校正算法, 以免以后忘记了
|----------------|
| |
| A + B + |
| |
| E + |
| |
| |
| C + D + |
| |
|----------------|
屏中有5个点(+), 我们知道 A,B,C,D,E这 5个点的实际坐标
A(Xa,Ya), B(Xb,Yb), C(Xc,Yc), D(Xd,Yd), E(Xe,Ye)
使用触摸屏依次点这 5个坐标,得到这5个点的逻辑坐标(可以采样10次或更多),
A(Xla,Yla), B(Xlb,Ylb), C(Xlc,Ylc),D(Xld,Yld) ,D(Xld,Yld)
然后通过以下算法算出 KX和 KY的系数:
KX = ((Xb-Xa)/(Xlb-Xla) + (Xd-Xc)/(Xld-Xlc))/2
KY = ((Yc-Ya)/(Ylc-Yla) + (Yd-Yb)/(Yld-Ylb))/2
得出 KX和KY后,将 KX,KY,Xe,Ye,Xle,Yle写入到 touchver这个文件中
看起来 E点的坐标好像没有用到,其实不然,在逻辑坐标转换成物理坐标的过程中就需要用到这个E点的坐标.
下面是一个逻辑坐标转换成物理坐标 的例子,
先读取 touchver的文件, 以 E点坐标为基准进行转换
Xp = Xe + KX * (Xl-Xle)
Yp = Ye + KY * (Yl-Yle)
其中Xl,Yl是读回来的逻辑坐标