imageview平移后计算新的点坐标

Calculate new point coordinates after imageview translation

我需要帮助计算图像视图转换后的新坐标。

我正在开发一个 android 应用程序,它将在地图上绘制点。

地图是从支持服务下载的。

我需要绘制的点来自后端,它们的位置是相对于地图大小(8000w x 4450h)。

应用程序(使用滑行)在自定义图像视图中设置图像。发生这种情况时,地图会按比例缩小以适合屏幕。

viewH = 735.

viewW = 1080.

然后我需要绘制位置;但是,需要转换绘制的坐标以匹配新比例。

这是我现在的计算方式...它得到了正确区域中的点...但它们并不精确(在 y 轴上绘制到较低位置):

newX = oldX / (originalMapHeight / imageviewHeight).

newY = oldY / (originalMapWidth / imageviewWidth).

谁能帮我更准确地翻译 x,y 坐标?我找不到与此相关的任何信息,但这可能是因为我不知道究竟要搜索什么。

谢谢!

您可以为此使用最小-最大归一化。公式是

对于您的情况,公式简化为

NewX = (oldX * imageViewWidth) / originalMapWidth

NewY = (oldY * imageViewHeight) / originalMapHeight