Problem mit ImageIO.Lesen
Ok, ich habe ein Bild, dass ich versuche zu Lesen. Problem ist, dass das Bild.Lesen(Datei) den Wert NULL zurück.
File file = new File("C:\\images\\image1.jpg");
if(file.exists()){
System.out.println("Image file exists.");
BufferedImage originalImage = ImageIO.read(file);
}
Also Bild vorhanden ist, aber ImageIO.Lesen(Datei) den Wert NULL zurück. Keine Fehler geworfen, nichts!!! Whats going on?
Dies ist, was ich bisher versucht habe:
- Ok, meine Umgebung ist Windows 7. Ich
getestet mit einem dieser Bilder, die
kommt mit Windows und seine Lage
Lesen Sie die Bild. - Die image1.jpg erstellt wurde
ein anderes system. Jetzt wissen welche Methode
Sie sind mit. - Ich habe versucht, konvertieren Sie das Bild in
RGB-wie hier vorgeschlagen link-text
aber es schlägt fehl mit "Nicht eine JPEG-Datei: beginnt mit 0x4d 0x4d". - Die Bild-Erweiterung ist .jpg, aber
windows sagt seine JPEG-Typ? Diese
verwirrend ist.
Kann jemand helfen mit diesem? Ich bin neu hier, nicht sicher, wie dieses Problem zu beheben.
Ok ich habe gerade herausgefunden, dass ImageIO.getImageReaders(stream) liefert einen leeren Iterator. Dies bedeutet, dass es nicht finden konnten, einen geeigneten reader? Wie soll ich denn das Lesen dieses Bild?
Da deine tags sind 'applet', dachte nur, ich würde erwähnen, es sei denn, Sie schreiben ein applet, welches für das laden von Bildern aus den Scheiben der end-Benutzer sind, werden Sie wahrscheinlich nach einer URL statt. Weitere Kommentare, Windows hat wahrscheinlich eine Menge "magic" gebaut für den Umgang mit ungültigen Bilder. Es könnte zahlen, um öffnen Sie die JPG in ein vertrauenswürdiges Bild-editor und speichern Sie es als eine neue Datei. Dass das problem möglicherweise beheben (vorausgesetzt, es ist ein ungültiges Bild).
Und was sind die Doppel-slashes?
Und was sind die Doppel-slashes?
InformationsquelleAutor Marquinio | 2010-10-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus den Javadocs für
ImageIO.read()
Versuchen Sie, erstellen ein
ImageInputStream
, dann pass auf dieImageIO.read()
Methode, anstatt die Datei selbst.InformationsquelleAutor Jason
Ok, da ich umgestiegen laptops schaute ich an meinem alten laptop und fand diese JAR-Datei jai-imageio.jar in das jre/ext/lib (ich weiß, schlechte Idee). Ich zog ihn zu meinem Projekt/lib und es funktionierte!
Ich denke, das jai-imageio.jar enthält zusätzliche Bild-Leser.
InformationsquelleAutor Marquinio
Genial, ich hatte das gleiche problem, wobei es war für 24 Bildformate in eclipse, aber die Unterstützung wurde nur 12 Bildformate in der Eingabeaufforderung mit maven. Einmal legte ich jai_imageio.jar in maven-test-Pfad, maven, hat begonnen, zur Unterstützung der 24-Bild-Formate.
InformationsquelleAutor Sanjeev