ver una quitar online modificar metadatos imagen fotos fecha exifinterface edicion datos borrar android camera orientation photo exif

android - una - Datos exif TAG_ORIENTATION siempre 0



quitar fecha fotos android (3)

Necesito saber la orientación de una imagen de la galería (tomada por la cámara). Mi enfoque inicial fue usar MediaStore.Images.Media.ORIENTATION que funcionaba para mi Droid 1. Mientras realizaba pruebas en el HTC Thunderbolt, ese teléfono solo guarda 0 en ese campo.

Luego pasé a leer los datos exif:

ExifInterface exifReader = new ExifInterface(mFilePath); exifReader.getAttributeInt(ExifInterface.TAG_ORIENTATION, -1);

Esto también devuelve 0 para cada imagen. ¿Alguien tiene ideas sobre cómo obtener correctamente la orientación de una foto tomada en Android?


Aquí está el código que utilicé onActivityResult () en mi actividad. La intención devuelta fue para seleccionar una imagen del tipo imagen / *. Funciona bien para mi

Uri imageUri = intent.getData(); String[] orientationColumn = {MediaStore.Images.Media.ORIENTATION}; Cursor cur = managedQuery(imageUri, orientationColumn, null, null, null); int orientation = -1; if (cur != null && cur.moveToFirst()) { orientation = cur.getInt(cur.getColumnIndex(orientationColumn[0])); } Matrix matrix = new Matrix(); matrix.postRotate(orientation);


Este es un error que encontré que estaba relacionado con otro error de Android. Encontré una solución razonable publicada aquí https://.com/a/8864367/137404


Mi solución:

Eliminar cualquier comprobación de orientación de los datos exif. No pude encontrar una instancia donde fue precisa.

Use la String[] orientationColumn = {MediaStore.Images.Media.ORIENTATION}; estándar String[] orientationColumn = {MediaStore.Images.Media.ORIENTATION}; Para obtener una orientación.

Si este es 0 usa decodeStream ...

if(o.outHeight > o.outWidth){ //set orientation to portrait }

de lo contrario es paisaje