Bonjour,
Vous pouvez utiliser la bibliothèque google ExifInterface .
Modifications fichier jpg détruisent la structure des données Exif , alors assurez-vous de lire les sommets d'origine et enregistrer l'image modifiée .
Ci-dessous, la fonction d'exploitation en Java.
Traduit par google translate: Java code
public static void copyExif(String oldPath,String newPath) //throws IOException { try{ ExifInterface oldExif = new ExifInterface(oldPath); String[] attributes = new String[] { ExifInterface.TAG_APERTURE, ExifInterface.TAG_DATETIME, ExifInterface.TAG_DATETIME_DIGITIZED, ExifInterface.TAG_EXPOSURE_TIME, ExifInterface.TAG_FLASH, ExifInterface.TAG_FOCAL_LENGTH, ExifInterface.TAG_GPS_ALTITUDE, ExifInterface.TAG_GPS_ALTITUDE_REF, ExifInterface.TAG_GPS_DATESTAMP, ExifInterface.TAG_GPS_LATITUDE, ExifInterface.TAG_GPS_LATITUDE_REF, ExifInterface.TAG_GPS_LONGITUDE, ExifInterface.TAG_GPS_LONGITUDE_REF, ExifInterface.TAG_GPS_PROCESSING_METHOD, ExifInterface.TAG_GPS_TIMESTAMP, ExifInterface.TAG_IMAGE_LENGTH, ExifInterface.TAG_IMAGE_WIDTH, ExifInterface.TAG_ISO, ExifInterface.TAG_MAKE, ExifInterface.TAG_MODEL, ExifInterface.TAG_ORIENTATION, ExifInterface.TAG_SUBSEC_TIME, ExifInterface.TAG_SUBSEC_TIME_DIG, ExifInterface.TAG_SUBSEC_TIME_ORIG, ExifInterface.TAG_WHITE_BALANCE, "User Comment" }; ExifInterface newExif = new ExifInterface(newPath); for (int i = 0; i < attributes.length; i++) { String value = oldExif.getAttribute(attributes[i]); if (value != null) newExif.setAttribute(attributes[i], value); } newExif.saveAttributes(); } catch(IOException e){ } } |