Задача: Я хочу изменить размер и перемещать изображение по экрану. Я хочу сделать это плавно независимо от того, насколько большой размер изображения. Код должен поддерживаться уровнем API API.
Проблема: Я попытался использовать ImageView
с scaleType="matrix"
. Вызов ImageView.setMatrix()
, а затем ImageView.invalidate()
отлично работает с маленькими изображениями, но ужасен с большими. Независимо от того, насколько велика ImageView
.
Можно ли как-то ускорить перерисовку ImageView
, чтобы он не пересчитал целое изображение? Может быть, есть способ выполнить задачу с использованием другого компонента?
EDIT: дополнительная информация о том, чего я пытаюсь достичь.
- pw, ph - ширина и высота изображения (в пикселях)
- dw, dh - ширина и высота отображения устройства (в пикселях)
- fw, fh - ширина и высота видимого кадра (в пикселях)
- x, y - положение верхнего левого угла кадра (в пикселях)
Я хочу отобразить часть изображения на экране. Свойства x, y, fw и fh постоянно меняются. Я ищу часть кода (идеи) или компоненты, которые для этих 8 заданных переменных будут быстро генерироваться и отображать часть изображения.
EDIT 2: информация в pw и ph
Я предполагаю, что pw и ph могут хранить значения от 1 до бесконечности. Если этот подход вызывает много проблем, мы можем предположить, что изображение не больше изображения, сделанного камерой устройства.