Как увеличить или уменьшить Rect - PullRequest
0 голосов
/ 15 мая 2018

Я получаю изображение из нашего бэкэнда. Вместе с URL-адресом изображения указываются координаты Rect определенной точки на изображении. Теперь изображение довольно большое, поэтому при отображении в ImageView оно уменьшается.

Здесь возникает проблема: координаты Rect, отправленные с бэкэнда, не отображаются в одной и той же позиции на изображении.

Пожалуйста, в любом случае, я могу уменьшить или даже увеличить координаты Rect?

Я видел ответы типа this , но, похоже, у него нет решения проблемы.

1 Ответ

0 голосов
/ 15 мая 2018

Хорошо, чтобы вы могли создать для этого функцию:

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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...