Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo guardar datos Exif después de copiar mapa de bits en Android

Necesito conseguir la imagen de la tarjeta de sd, crear, girar y guardar la imagen cambiada. Trato de usar este código

Bitmap original = BitmapFactory.decodeFile(file.getAbsolutePath()); ExifInterface originalExif = new ExifInterface(file.getAbsolutePath()); int orientation = originalExif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED); Matrix matrix = new Matrix(); int rotate = 90; if(orientation == ExifInterface.ORIENTATION_ROTATE_90){ rotate = 180; }else if(orientation == ExifInterface.ORIENTATION_ROTATE_180){ rotate = 270; }else if(orientation == ExifInterface.ORIENTATION_ROTATE_270){ rotate = 0; } matrix.postRotate(rotate); Bitmap bitmap = Bitmap.createBitmap(original, 0, 0, original.getWidth(), original.getHeight(), matrix, true); try { FileOutputStream out = new FileOutputStream(file); bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } finally { original.recycle(); bitmap.recycle(); } ExifInterface newExif = new ExifInterface(file.getAbsolutePath()); newExif.setAttribute(ExifInterface.TAG_ORIENTATION, String.valueOf(ExifInterface.ORIENTATION_ROTATE_90)); newExif.saveAttributes(); 

Pero no puedo guardar el cambio en ExifInterface. Esto acaba de borrar todas las etiquetas.

One Solution collect form web for “Cómo guardar datos Exif después de copiar mapa de bits en Android”

Sólo método saveAttributes Guardar los datos de etiqueta en el archivo JPEG.

Revise este enlace

http://developer.android.com/reference/android/media/ExifInterface.html#saveAttributes ()

Así que si cambia su código esto

 bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); 

a esto

 bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out); 

Te ahorrará datos de etiqueta exif

Espero que esto ayude

Avísame en caso de cualquier otro problema

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.