Как обращаться с наклейками с изменением размера и возможностью поворота?

В настоящее время я разрабатываю приложение, которое позволит пользователю добавлять на изображение наклейки (шляпа, волосы, очки и т. Д.) . Пользователь может изменить размер этой наклейки или может повернуть ее и переместить. См. Изображение.

Введите описание изображения здесь

У меня есть наклейки, но как я могу поместить их на исходное изображение и переместить / повернуть / увеличить их, чтобы отрегулировать исходное изображение?

Я нашел хороший результат на http://code.google.com/p/android-multitouch-controller/ . Которая обрабатывает 3 в 1 объекте. На Multi-Touch вы можете панорамировать изображение, вы можете масштабировать изображение, и в то же время вы можете также поворачивать изображение. И вы можете добавить количество наклеек, сколько хотите.

Чтобы увеличить / уменьшить изображение, вы можете попробовать следующий код:

yourImageView.setLayoutParams(new GridView.LayoutParams(newWidthImage, newHeightImage)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 

Надеюсь, эта помощь.

Просмотрите блоги, которые они пытались реализовать, чтобы растянуть изображение на стрелке, а также удалить его, а также вы можете перемещать изображение на экране с помощью жестов.

Изображение перетаскивания. Также проверьте демонстрацию DragDropImage

Вы также можете скачать исходный код, упомянутый в блоге.

https://stackoverflow.com/a/22908379/3034199

Первый шаг: Скачать эту ссылку Lib. https://github.com/nimengbo/StickerView

Второе: (StickerView, BubblePropertyModel, StickerPropertryModel.java в этом трех файлах вставляют ваш проект).

Третий шаг: ниже кода Пройдите файл MainActivity:

Примечание: mainlayout (объект Relativelayout)

  final StickerView stickerView21 = new StickerView(this); stickerView21.setImageResource(R.drawable.fall_9); stickerView21.setOperationListener(new StickerView.OperationListener() { @Override public void onDeleteClick() { mViews.remove(stickerView21); mainLayout.removeView(stickerView21); } @Override public void onEdit(StickerView stickerView) { } @Override public void onTop(StickerView stickerView) { int position = mViews.indexOf(stickerView); if (position == mViews.size() - 1) { return; } StickerView stickerTemp = (StickerView) mViews.remove(position); mViews.add(mViews.size(), stickerTemp); } }); RelativeLayout.LayoutParams l11= new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT); mainLayout.addView(stickerView21, l11); mViews.add(stickerView21); 
Intereting Posts