2017-05-22 3 views
0

I Bild dpi erhalten möchten Pixel konvertieren cm, so dass ich ImageInfo.java dies zu erhalten:Imageinfo der Bilddatei enthält keine gültige Werte

ImageInfo myMapInfo = new ImageInfo(); 
      try { 
       File testFile = new File(fileNameString); 
       InputStream myMapStream = new FileInputStream(testFile); 
       myMapInfo.setInput(myMapStream); 
       myMapInfo.setDetermineImageNumber(true); 
       myMapInfo.setCollectComments(true); 

      } catch (FileNotFoundException e) { 
       e.printStackTrace(); 
      } 

      x = myMapInfo.getPhysicalWidthInch(); 
      y = myMapInfo.getPhysicalHeightInch(); 

aber leider bekomme ich -1 und -1 in (x, y)! Ich benutze diese Klasse: ImageInfo.java

+0

Ich benutzte Sanselan Jar-Bibliothek, und es funktioniert ... –

Antwort

0

Von den Quellcode von Imageinfo suchen, müssen Sie die check() Methode Ihrer myMapInfo Variable anrufen und wenn dies passiert können Sie die verschiedenen getXxX() Methoden verwenden, um zu erhalten, was Informationen die Sie benötigen. Übrigens bedeutet das Erhalten von -1 als Ergebnis, dass Informationen nicht verfügbar sind, aber das ist höchstwahrscheinlich, weil Sie die Methode check() nicht aufrufen.

+0

Meinen Sie die 'check()' Methode wie: 'boolean etw = myMapInfo.check()'? Ich habe es benutzt und 'sth' hat einen wahren Wert, aber der Fehler bleibt bestehen ... –

+0

Nachdem Sie Ihre Eingabe und determineImageNumber usw. gesetzt haben, müssen Sie' myMapInfo.check() 'aufrufen. Dies wird versuchen, die 'myMapInfo' mit den verfügbaren Informationen zu füllen. Sie können auch versuchen, ImageInfo.java (es hat Hauptmethode und kann als eine Konsolenanwendung verwendet werden) direkt ausführen und Ihre Testdatei als Eingabe angeben, nur um zu überprüfen, ob es funktioniert. –

+0

Ich erkannte nach dem Test so, 'myMapInfo.getFormatName()' und 'myMapInfo.getMimeType()', ... funktionieren gut, aber 'myMapInfo.getPhysicalWidthInch()' oder 'myMapInfo.getPhysicalWidthDpi()' gibt '-1 zurück '! –

Verwandte Themen