studio photoview library failed chrisbanes android rotation pinchzoom image-editing

android - photoview - ¿Cómo manejar pegatinas con la función de redimensionar y rotar?



zoom image android studio (5)

Actualmente estoy desarrollando una aplicación que permitirá al usuario agregar pegatinas (sombrero, pelos, gafas, etc.) en la imagen. El usuario puede cambiar el tamaño de esa etiqueta o rotarlo y moverlo también. Ver imagen

Tengo pegatinas, pero ¿cómo puedo colocarlas en la imagen original y moverlas / rotarlas / ampliarlas para ajustarlas en la imagen original?


Echa un vistazo al blogspot que intentaron implementar la funcionalidad de estirar la imagen con un clic de flecha y también eliminarla, y también puedes mover la imagen en la pantalla con un gesto.

Imagen de arrastrar y soltar También puedes ver la Demo de DragDropImage

También puede descargar el código fuente que se menciona en el blog.

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


Encontré un buen resultado en http://code.google.com/p/android-multitouch-controller/ . Que maneja 3 en 1 facilidad. En Multi-Touch, puede desplazar su imagen, puede escalar su imagen y al mismo tiempo también puede rotar su imagen. Y puedes añadir el número de pegatinas que quieras.


Para ampliar / reducir una imagen, puede probar el siguiente código:

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

Espero que esto ayude.


Primer paso: Descarga este enlace de Lib. https://github.com/nimengbo/StickerView

Segundo: (StickerView, BubblePropertyModel, StickerPropertryModel.java en este archivo tres pegue su proyecto).

Tercer paso: debajo del código más allá de su archivo de actividad principal:

Nota: mainlayout es (objeto 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);