Затем вы можете установить масштаб, имеющий среднюю точку в центре экрана:

ановил предварительно масштабированное растровое изображение в качестве источника ImageView. Тогда я прочитал МатрицуImageView и сдвиг растрового изображения из ImageView черезmatrix.postTranslate(shiftX, shiftY).

Теперь я хочу увеличить / уменьшить изображение, сохраняя центрImageView в той же точке растрового изображения, что была до масштабирования.

Если я попытаюсь увеличить изображение сmatrix.postScale(zoom, zoom), отметьте, что я хочу сохранить (синяя точка) смещения в другое место (фиолетовая точка).

Я пробовал несколько разных способов вернуть Bitmap обратно, но не могу заставить его работать правильно. Я знаю исходный размер растрового изображения, размер ImageView, расстояния, отмеченные пунктирной линией. Пытался рассчитать необходимый сдвиг и использоватьmatrix.postTranslate(-zoomshiftX, -zoomshiftY) впоследствии, но это не смещается правильно.

Даже обнаружил, что количество пикселей в Bitmap не меняется после функции matrix.postScale () и пробовал matrix.postTranslate (-zoomshiftX / zoom, -zoomshiftY / zoom) - но все же не повезло.

Как мне добиться такого увеличения?

Ответы на вопрос(1)

Ваш ответ на вопрос