象限 4 图像视图中的象限 3 位置
Quadrant 3 positions in a quadrant 4 imageview
我正在为 Android 设备制作室内定位技术演示。问题是我从我正在使用的系统中获得象限 3 的位置,其中 0,0 原点位于右上角。地图放置在原点位于左上角(第 4 象限)的图像视图中。
当然,当我尝试将另一个图像放在上面以根据我得到的位置四处移动时,它在 X 轴上是向后的。显示正确坐标的最佳方式是什么?我可以在获取点时对其进行变换吗,或者有没有办法以某种方式翻转图像视图,使原点位于右上角?
您将不得不自己变换坐标。它并不复杂 - 通常将值从一个映射到另一个。如果图像的宽度为 "Wo" 并且您有 Vo(视图原点)和 Mo(地图原点),则地图的 x 坐标为 Mx,并转换为 Vx = Mx + Wo。 (Mx 是具有负值的地图 x 坐标,不大于 Wo 且不小于 0)。要从视图转换为地图,请执行相反的操作:Mx = Vx - Wo。 (Vx x 坐标的值不会小于 0,并且在其最大宽度处,它应该在地图上显示为“0”。)
这不是 CPU 密集的,所以应该很快。
我正在为 Android 设备制作室内定位技术演示。问题是我从我正在使用的系统中获得象限 3 的位置,其中 0,0 原点位于右上角。地图放置在原点位于左上角(第 4 象限)的图像视图中。
当然,当我尝试将另一个图像放在上面以根据我得到的位置四处移动时,它在 X 轴上是向后的。显示正确坐标的最佳方式是什么?我可以在获取点时对其进行变换吗,或者有没有办法以某种方式翻转图像视图,使原点位于右上角?
您将不得不自己变换坐标。它并不复杂 - 通常将值从一个映射到另一个。如果图像的宽度为 "Wo" 并且您有 Vo(视图原点)和 Mo(地图原点),则地图的 x 坐标为 Mx,并转换为 Vx = Mx + Wo。 (Mx 是具有负值的地图 x 坐标,不大于 Wo 且不小于 0)。要从视图转换为地图,请执行相反的操作:Mx = Vx - Wo。 (Vx x 坐标的值不会小于 0,并且在其最大宽度处,它应该在地图上显示为“0”。)
这不是 CPU 密集的,所以应该很快。