我从后端获取图像。与图像的URL一起出现图像中特定点的 Rect 坐标。现在,图像非常大,因此当显示在 ImageView 上时,它会缩小。
这就是问题所在,从后端发送的Rect坐标,不会在图像上绘制到相同的位置。
无论如何,我可以缩小甚至按比例缩放Rect坐标吗?
我看过像this这样的答案,但似乎没有解决问题的方法。
答案 0 :(得分:0)
好的,你可以为此创建一个函数:
private fun scale(rect: Rect, factor: Float) {
val diffHorizontal = (rect.right - rect.left) * (factor - 1f)
val diffVertical = (rect.bottom - rect.top) * (factor - 1f)
rect.top -= (diffVertical / 2f).toInt()
rect.bottom += (diffVertical / 2f).toInt()
rect.left -= (diffHorizontal / 2f).toInt()
rect.right += (diffHorizontal / 2f).toInt()
}
这是我从Toon Borgers编辑的答案。