2013-08-08 5 views
0

Я знаю, что этот вопрос был задан до смерти, но я несколько смущен ответами, которые я видел. Поэтому я хочу изменить размер растрового изображения, которое отображается на экране в приложении для Android. Мне нужно иметь возможность изменять его в реальном времени, в реальном времени. Ожидается, что пользователь будет постоянно изменять размер/панорамирование вокруг изображения, поэтому я хочу сделать это максимально эффективно.Android: изменение растровых изображений в реальном времени

До сих пор я видел только Bitmap.createScaledBitmap(...), который, похоже, полностью перестраивает растровое изображение. Он немного отстает, когда пользователь выполняет сжатие и масштабирование (многие изменения в строке).

Странно то, что когда я пытался использовать canvas.scale(...), не было никакого увеличения масштабирования изображения. Единственная проблема заключается в том, что он также изменяет размеры координат, что делает невозможным использование в этом приложении. Есть ли что-то похожее на canvas.scale() для растровых изображений, которые просто масштабируют изображение без его перезагрузки, подобно canvas.scale()?

ответ

1

Вы можете найти все методы Canvas here.
Вы, вероятно, являетесь комбинацией Canvas.scale(...) и методов Canvas.save()/Canvas.restore() для сброса координат после рисования.

Если это не то, что вы ищете, другое решение: может быть be to get the current transformation matrix и применять к вашим координатам, чтобы получить «активные» координаты.