¿Cómo recortar una imagen cuyo URI se conoce en Android?
Quiero que la imagen que se muestra en la imagen vista sea seleccionada con la porción particular (y solamente la parte seleccionada necesita ser resaltada y la otra porción ser semi transparente) y esa porción también puede ser cambiada de tamaño según lo necesitado o hecho hecho por el usuario en el acontecimiento del tacto.
Ahora, la parte seleccionada de la imagen es necesaria para recortar y luego mostrar y guardar esa imagen recortada.
- Recorta la imagen sin OutOfMemory - Android
- Combinación de CoverFlow y Universal Image Loader
- Recortar imagen en android
- Página de Android / borde detectar y transformar la página. Convertir a B / N tiff
- ListView con imagen de fondo
EDITAR:
Utilicé Intent para abrir la imagen y recortarla usando el intento.putExtra ("crop", "true");
Pero al pasar intención quiero abrir la imagen cuyo URI ya es conocido en lugar de abrir todo el álbum de la galería de imágenes.
¿Alguien puede sugerir, cómo puedo abrir un URI particular a través de la intención que pasa por la imagen de apertura. Gracias por adelantado.
- Aplicación "espectador" de la imagen de Android
- ¿Reutilizando la galería de imágenes predeterminada de Android?
- Android: muestra la imagen en la galería de incorporación
- Reconocimiento de imágenes para la aplicación Android de realidad aumentada
- Encontrar un patrón dentro de una imagen
- Android: Almacenamiento de imágenes en el directorio del proyecto (archivos)?
- ¿Cómo importar o copiar imágenes a la carpeta "res" en Android Studio?
- Envío de flujo de imágenes por problema de socket: Android
ACTUALIZACIÓN: Cambió mi respuesta después de que la pregunta fue editada y descrita con más precisión.
La edición que usted está haciendo frente con tiene una historia larga, también en SO:
Incapaz de encontrar la actividad com.android.camera.CropImage en android
Una respuesta ha descrito lo que usted necesita. Tenga en cuenta que está utilizando una intención que no forma parte del SDK oficial y que puede encontrar diferentes tipos de problemas. Problema que experimenté fue el uso de los cultivos inmediatamente después de que la imagen fue tomada por la cámara. Además, no es compatible a través de diferentes versiones de Android, por lo que si lo haces funcionar para 1,5 tal vez no funcionará para 2,3. Otros enlaces útiles:
En cuanto a la última parte de su pregunta, si está en el último Gingerbread (2.3.3, API nivel 10), puede utilizar BitmapRegionDecoder
para recortar una imagen.
Es útil porque, hasta que existía esta API, tenías que cargar toda la imagen en memoria antes de recortarla. Con cámaras 5mpix y 8mpix esto suele ser imposible sin submuestreo (es decir, la imagen recortada pierde mucha resolución).
Echa un vistazo a mi respuesta a esta pregunta . No se ocupa del aspecto táctil para cambiar el tamaño de la pregunta, sino que se encarga de dibujar partes de una imagen sobre la imagen original.
En pocas palabras, no desea utilizar un ImageView, ya que es principalmente para mostrar una imagen estática con varias propiedades de escala. Es mejor usar una vista personalizada con un método de extracción draw ().
Para recortar imagen
private void cropImage() { // Use existing crop activity. Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType(capturedImageUri, IMAGE_UNSPECIFIED); // Specify image size intent.putExtra("outputX", IMAGE_DIMENSION); intent.putExtra("outputY", IMAGE_DIMENSION); // Specify aspect ratio, 1:1 intent.putExtra("aspectX", 1); intent.putExtra("aspectY", 1); intent.putExtra("scale", true); intent.putExtra("return-data", true); // REQUEST_CODE_CROP_PHOTO is an integer tag you defined to // identify the activity in onActivityResult() when it returns startActivityForResult(intent, REQ_CODE_CROP_PHOTO); }
- Lectura de transacciones no confirmadas en Android
- Cambiar el color de la línea EditText y el color del cursor EditText en forma de programación para el nivel API mínimo 14?