Android 如何将图像角点的坐标从一个屏幕大小转换为另一个屏幕大小?

Android 如何将图像角点的坐标从一个屏幕大小转换为另一个屏幕大小?,android,Android,基本上,我想在任何安卓手机上刷字母表图像时识别字母表。。为了做到这一点,我用log cat在一部手机上找到了字母表上的角点、一些中点和一些其他点的坐标。当有人用手在字母表上滑动时,手机会检测他是否至少通过了这些基本点,然后识别他是否跟踪了字母表。这种识别技术显然不适用于其他手机。问题是如何让它们在不同屏幕尺寸的其他设备上工作?此外,仅仅使用“dpi”是行不通的,我尝试过这个方法,但我认为必须根据手机的不同宽度和高度进行调整,而不仅仅是密度。使用标准化坐标进行存储和处理-左上角是(0.0,0.0)

基本上,我想在任何安卓手机上刷字母表图像时识别字母表。。为了做到这一点,我用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);