问题场景:当你让一张800*480的图片显示在开发板的时候,如果这块开发板的触控范围恰巧也与图片相同是800*480,那么当你点击图片某个部分时,触摸板获取的点击坐标与你想点击的位置是刚好相同的,不会发生任何偏移。但是,一旦图片尺寸和触摸板尺寸范围不同就会发生偏移。
举个简单例子:
我们在800*480的屏幕上显示一张800*480尺寸的图片,在上面定一个点位,700*300,当我们把显示器的尺寸变为1024*600时,图片会放大,坐标(700*300)虽然保持不变,但和图片相比就是往左上移动了。
原因有两点:
1、分辨率不匹配:800x480的图片在1024x600的触控板上显示时,图片会被放大或缩小以适应新的分辨率。如果只是简单地放大或缩小,而不进行坐标转换,触摸坐标将不再对应图片上的实际位置。
2、默认缩放方式:通常情况下,图片的缩放是从左上角开始的。这意味着图片的左上角保持不变,而右下角会被拉伸或压缩以适应新的分辨率。因此,图片的整体位置会向左上角偏移。
解决办法:以800*480显示屏幕和1024*600的触控板为例。
坐标:触摸的坐标/触控板尺寸*显示器尺寸。