2012-11-26 15 views
6

Desidero trovare la "Data di acquisizione" di un'immagine e non "Data di modifica" o "Data di creazione". Anche se ho trovato alcuni link su StackOverflow, ma nessuno può recuperarlo. Il formato dell'immagine è: tiff e RAW.Data di acquisizione di un'immagine

Utilizzando javax.imageio, ho scritto il programma di seguito, ma non stampa nulla. Il che significa che non v'è alcuna disposizione reader

 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])); 
      } 
     } 

Utilizzando le librerie Java di base, c'è un metodo per accedere a "data di presa" e non "data di creazione" o "data di modifica". Ulteriori informazioni data taken è disponibile come posso vedere che da proprietà immagine in OS

EDIT: Si scopre che readers iteratore non ha nulla con esso. cioè la dimensione 0. Sta succedendo solo per immagini tiff e raw. Funziona bene con jpeg

+0

Avete esaminato gli alberi di metadati per vedere se è possibile trovare la data? Pubblica ciò che hai trovato finora. –

+0

Sì. Non stampa nulla. Se l'immagine era jpeg, ha stampato informazioni come la compressione ecc. Ma non data la data – Jatin

+0

Forse il lettore è impostato per ignorare i metadati: 'System.out.println (reader.isIgnoringMetadata());' – Vulcan

risposta

7

Non sono riuscito a trovare alcuna soluzione utilizzando le librerie java core. Ho trovato una biblioteca chiamata metadata-extractor che fa il lavoro.

Maggiori informazioni si possono trovare here.

Problemi correlati