2017-05-13 1 views
0

Ich habe den Code von this example, wie es für alle Formate funktionieren soll. Es funktioniert gut für png, aber nicht für jpg oder bmp (gif hat diese Einstellung nicht).Legen Sie die dpi in einer JPG-Datei

versuchte ich this code aber es wirft auf

Element jfif = (Element)tree.getElementsByTagName("app0JFIF").item(0); 

eine Ahnung, wie dies zu tun?

+0

haben Sie dieses eine überprüft: http://StackOverflow.com/Questions/233504/write-dpi-metadata-to-a-jpeg-image-in-java? –

+0

Es ist durchaus möglich, dass der von Ihnen betrachtete JPEG-Stream nicht im JFIF-Format vorliegt und keine JFIF APP0-Markierung aufweist. – user3344003

+0

@ user3344003 - ja, das versucht. "tree.getElementsByTagName (" app0JFIF ")" gibt für mich null zurück. –

Antwort

0

Ich hatte dieses Problem und es dauerte eine Menge Korrektur - nicht durch die Fehlermeldung anders in verschiedenen Versionen der JVM geholfen, sowie drei Schritte nach dem eigentlichen Problem (der BufferedImage) wurde zuletzt in einem Anruf verwendet .

Das Problem besteht darin, dass die Ergebnisse vom Typ des BufferedImage abhängen. Insbesondere, wenn Sie im Beispiel von png zu jpg wechseln, können Sie BufferedImage.TYPE_INT_RGB nicht mehr verwenden. Probiere BufferedImage.TYPE_3BYTE_BGR aus, was für mich mit jpg funktioniert.

Verwandte Themen