Реализация Pinch and Zoom на Android SurfaceView

Я использую SurfaceView для отображения большого изображения (, обычно большего, чем экран, но не всегда )в приложении для Android. Это действительно тривиально простая графика, и прокрутку легко реализовать с помощью OnTouchListener или GestureDetector. Графика запускается в цикле рендеринга, но производительность кажется более чем адекватной для всех реальных устройств (хотя эмулятор может быть немного болезненным ).

Я также рассматриваю возможность реализации Pinch и Zoom на изображении, но я бы предпочел не переходить на OpenGL, так как у меня очень мало опыта работы с OpenGL, а использование OpenGL кажется излишним для чего-то такого простого.

Кажется, что класс android.graphics.Camera может позволить мне реализовать желаемую функциональность масштабирования.

Кто-нибудь знает какие-нибудь хорошие примеры, демонстрирующие реализацию масштабирования -в базовом Android SurfaceView?

Кроме того, если вы реализовали что-то подобное, что вы думаете о производительности? Стоит ли OpenGL дополнительных хлопот, учитывая то, что здесь требуется так просто?


Является ли вопрос здесь неясным, или я пропустил какую-то ослепляюще очевидную документацию/код на сайте разработчиков Android, который я должен был найти?

10
задан Michael A. 8 May 2012 в 23:44
поделиться