Как выполнить увеличение / уменьшение масштаба, вращение вместе в Android - PullRequest
4 голосов
/ 10 марта 2011

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

Создайте изображение

сверху двух изображений после изменений, внесенных путем применения действий.

Мне удалось применить масштабирование / перетаскивание кtop image, из этого создано новое изображение.

Основная проблема

1.Как применить действие к двум изображениям, по одному изображению за раз?

2.Как переключиться на другое изображение с текущего показанного изображения (какой макет мне следует использовать)?

3.Как пользователь может иметь возможность поворачивать или масштабировать изображение с помощью мультитача?

Чего мне не хватает, извините за список -:)

1 Ответ

6 голосов
/ 10 марта 2011

1) Необходимо сохранить преобразование, выполненное для Bitmap1, и снова применить его к Bitmap2.Например, вы можете использовать Матрицу, рассчитанную с использованием сенсорных событий, чтобы применить ее к двум битовым картам.

2) Я не уверен, что понимаю, что вы хотите сделать.Что я понимаю: у вас есть несколько изображений (которые могут состоять из 2 изображений, расположенных поверх другого), плавающих на макете, и вы хотите выбрать одно из них, чтобы изменить его размер или повернуть.Чтобы сделать это, вы можете просто использовать событие ontouch для imageView.

3) Поворот + масштабирование с мультитачем нелегко в Android, нужно написать много кода, чтобы все работало хорошо.Я предлагаю вам использовать существующую библиотеку.Я использовал этот, и он работал как шарм: http://code.google.com/p/android-multitouch-controller/

В приведенном примере http://code.google.com/p/android-multitouch-controller/source/browse/trunk/demo/MTPhotoSortr/src/org/metalev/multitouch/photosortr/PhotoSortrView.java вы можете видеть, что вы можете в любой момент получить новый центр, угол и масштабное соотношениеобновленные изображения в mImages(i).getCenterX(), mImages(i).getAngle(), mImages(i).getScaleX(), ... Используя эти значения, вы можете копировать преобразования (вращение, масштабирование, перемещение) в другое растровое изображение.

...