Получите измеренный размер и положение растрового изображения на холсте после 2D-преобразования

#android #canvas #bitmap

#Android #холст #растровое изображение

Вопрос:

У меня есть куча растровых изображений, которые я рисую на холсте, применяемом с 2D-преобразованием (android.graphics.Камера и android.графика.Матрица). Как мне получить размеры / положения растровых изображений на холсте? Размер будет соответствовать границам растрового изображения, отображаемого на холсте, а положение — координатам верхнего / левого угла границ. Все растровые изображения представляют собой обычные прямоугольники без альфа-канала.

Ответ №1:

Класс matrix имеет mapRect функцию для этой цели:

mapRect(RectF dst, RectF src)
Apply this matrix to the src rectangle, and write the transformed rectangle into dst.

Укажите размеры изображения в качестве источника (и 0,0 для x, y, если вы используете все изображение целиком), и это вернет вам преобразованные размеры в виде прямоугольника dst.