Ich möchte das "Date Taken" eines Bildes und nicht "Datum geändert" oder "Datum erstellt". Ich habe zwar einige Links auf Stackoverflow gefunden, aber keiner konnte sie abrufen. Das Bildformat ist: tiff und RAW.Get Date eines Bildes genommen
Mit javax.imageio
habe ich das folgende Programm geschrieben, aber es druckt nichts. Was bedeutet, es gibt keine reader
verfügbar
File file = new File(fileName);
ImageInputStream iis = ImageIO.createImageInputStream(file);
Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
if (readers.hasNext()) {
// pick the first available ImageReader
ImageReader reader = readers.next();
// attach source to the reader
reader.setInput(iis, true);
// read metadata of first image
IIOMetadata metadata = reader.getImageMetadata(0);
String[] names = metadata.getMetadataFormatNames();
int length = names.length;
for (int i = 0; i < length; i++) {
System.out.println("Format name: " + names[ i ]);
displayMetadata(metadata.getAsTree(names[i]));
}
}
Kern der Java-Bibliotheken verwenden, gibt es eine Methode für den Zugriff auf „Aufnahmedatum“ und nicht „Datum erstellt“ oder „Datum geändert“. Weiterhin ist die data taken
Info ist als ich, dass von Bildeigenschaften in O
EDIT sehen: Es stellt sich heraus, dass readers
Iterator nichts mit ihm hat. d. h. Größe 0. Dies geschieht nur für TIFF- und RAW-Bilder. Funktioniert gut mit JPEG
Haben Sie die Metadaten Bäume untersucht gefunden werden, um zu sehen, ob Sie das Datum finden können? Posten Sie, was Sie bisher gefunden haben. –
Ja. Es druckt nichts. Wenn das Bild JPEG war, druckte es Informationen wie Kompression etc., aber kein Datum – Jatin
Vielleicht ist der Leser so eingestellt, dass er Metadaten ignoriert: 'System.out.println (reader.isIgnoringMetadata());' – Vulcan