如何放大或缩小Rect

时间:2018-05-15 09:58:32

标签: android kotlin

我从后端获取图像。与图像的URL一起出现图像中特定点的 Rect 坐标。现在,图像非常大,因此当显示在 ImageView 上时,它会缩小。

这就是问题所在,从后端发送的Rect坐标,不会在图像上绘制到相同的位置。

无论如何,我可以缩小甚至按比例缩放Rect坐标吗?

我看过像this这样的答案,但似乎没有解决问题的方法。

1 个答案:

答案 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编辑的答案。

相关问题