Sto cercando di scrivere un User_Comment
e TAG_GPS
in un'immagine acquisita in un'applicazione Android utilizzando l'interfaccia exif, ma per qualche motivo i tag non sembrano essere aggiunti all'immagine quando visualizzo i dettagli dell'immagine nella galleria .Come scrivere dati exif per l'immagine in Android?
Sembra che forse i tag non vengano scritti nell'immagine acquisita poiché il percorso del file potrebbe essere errato. Penso che potrebbe essere perché ho scritto i tag su un percorso di immagine errato.
Qualcuno sa se il problema riguarda il modo in cui sto scrivendo i tag sull'immagine?
Questo è il codice che salva i dati exif seguenti modifiche @ Charlie seguito:
private File getOutputPhotoFile() throws IOException {
File directory = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), getPackageName());
if (!directory.exists()) {
if (!directory.mkdirs()) {
Log.e(TAG, "Failed to create storage directory.");
return null;
}
}
String timeStamp = new SimpleDateFormat("yyyMMdd_HHmmss", Locale.ENGLISH).format(new Date());
File[] files = directory.listFiles();
File exifVar = new File(directory.getPath(), "IMG_" + timeStamp + ".jpg");
if(files.length!=0) {
File newestFile = files[files.length-1];
exifVar = new File(directory.getPath() + File.separator + newestFile.getName());
}
String mString = "Generic Text..";
ExifInterface exif = new ExifInterface(exifVar.getAbsolutePath());
exif.setAttribute("UserComment", mString);
exif.saveAttributes();
exif.setAttribute(ExifInterface.TAG_GPS_LATITUDE,
String.valueOf(latituteField.toString()));
exif.setAttribute(ExifInterface.TAG_GPS_LONGITUDE,
String.valueOf(longitudeField.toString()));
exif.saveAttributes();
return exifVar;
}
perché stai chiamando exif.saveAttributes più volte? Credo che ogni volta crei una nuova immagine. Mi chiedo semplicemente – wkhatch
E 'possibile, non ho lavorato a questo progetto da un po', penso che il problema potrebbe essere stato il salvataggio dei dati in un'immagine temporanea chiamata "exif" e non viene mai scritto nell'immagine originale. –