触摸屏坐标变换

下面是已经调试通过的触摸屏坐标变换算法(触摸屏校准)。

这个算法逻辑简单,容易理解。运算也简单。

大道至简,简单好。

/*

Touch(X,Y)  ==> LCD(X,Y)

第一步:

A、B、C、D是在LCD上绘制的4个点

 +A         B+
 +C         D+

A、B、C、D在LCD上的坐标:

LCD: W*H

A:(W/4,   3H/4)
B:(3W/4, 3H/4)
C:(W/4,   H/4)
D:(3W/4,  H/4)

第二步:

取得A、B、C、D四个点的触摸屏坐标(XA,YA).....后计算

触摸屏中心点坐标(x0,y0):
Touch center(x0,y0);
X0=(XA+XB+XC+XD)/4
Y0=(YA+YB+YC+YD)/4

第三步:

最后将任意触摸屏坐标Xt,Yt变换为LCD坐标:

Xlcd=(XT-X0)*W/(XB-XA+XD-XC)+W/2
Ylcd=(YT-Y0)*H/(YA-YC+YB-YD)+H/2

*/

原文地址:https://www.cnblogs.com/glguan/p/2092492.html