如何将图像角落的坐标从一种屏幕尺寸转换为另一种屏幕尺寸



基本上我想识别任何android手机上的字母,当我在一个字母的图像上滑动。为了做到这一点,我找到了角的坐标和一些中间点,以及一些其他的字母在一个电话上使用log cat。当有人用手在字母表上滑动时,手机会检测他是否至少经过了这些基本点,然后识别他是否追踪了字母表。这种识别技术显然不适用于其他手机。问题是如何让它们在其他屏幕尺寸不同的设备上运行?此外,仅仅使用"dpi"是行不通的,我试过了,但我认为人们必须调整不同手机的宽度和高度,而不仅仅是密度。

使用标准化坐标进行存储和处理-左上角为(0.0,0.0),右下角为(1.0,1.0)。您可以通过简单地除以/乘以屏幕分辨率在屏幕坐标和标准化坐标之间进行转换。

屏幕归一化:

double nx = ((double) x) / screenWidth;
double ny = ((double) y) / screenHeight;

归一化到屏幕:

int x = (int) (nx * screenWidth);
int y = (int) (ny * screenHeight);

相关内容