Discussion:
Auflösung (dpi) eines Bildes ermitteln (PNG, JPEG...)
(zu alt für eine Antwort)
Christian Lübke
2005-06-03 12:37:21 UTC
Permalink
Hallo,

ich benötige die Auflösung (dpi) eines Bildes für diverse Formate (z. B.
GIF, JPEG, PNG).

Width und Height sind ja kein Problem, aber wo gibt's die Auflösung?
Hintergrund: Ich lade eine Grafik, die z. B. mit 300 dpi erzeugt wurde
und möchte diese via Graphics.drawImage drucken. Dabei ist es scheinbar
erforderlich, die Größe basierend auf 72 dpi anzugeben.

Jetzt möchte ich natürlich nicht hartcodiert davon ausgehen, dass jede
Grafik in 300 dpi vorliegt ;-)

Google konnte mir auch nicht wirklich weiterhelfen - gefunden habe ich
bspw. ImageInfo, allerdings steht da schon klipp und klar drin, dass die
dpi-Angabe bei PNGs nicht unterstützt wird. Schade...

Bin für jeden Tipp dankbar!

Gruß,
Christian
Timo Stamm
2005-06-03 12:51:39 UTC
Permalink
Post by Christian Lübke
Hallo,
ich benötige die Auflösung (dpi) eines Bildes für diverse Formate (z. B.
GIF, JPEG, PNG).
[...]
Google konnte mir auch nicht wirklich weiterhelfen - gefunden habe ich
bspw. ImageInfo, allerdings steht da schon klipp und klar drin, dass die
dpi-Angabe bei PNGs nicht unterstützt wird. Schade...
Über ImageReader#getImageMetadata solltest du auch DPI auslesen können,
_falls_ die Daten im Bild vorhanden sind.


Gruss,
Timo
Thomas Kellerer
2005-06-03 14:00:13 UTC
Permalink
Post by Christian Lübke
Hallo,
ich benötige die Auflösung (dpi) eines Bildes für diverse Formate (z. B.
GIF, JPEG, PNG).
Width und Height sind ja kein Problem, aber wo gibt's die Auflösung?
Hintergrund: Ich lade eine Grafik, die z. B. mit 300 dpi erzeugt wurde
und möchte diese via Graphics.drawImage drucken. Dabei ist es scheinbar
erforderlich, die Größe basierend auf 72 dpi anzugeben.
Jetzt möchte ich natürlich nicht hartcodiert davon ausgehen, dass jede
Grafik in 300 dpi vorliegt ;-)
Google konnte mir auch nicht wirklich weiterhelfen - gefunden habe ich
bspw. ImageInfo, allerdings steht da schon klipp und klar drin, dass die
dpi-Angabe bei PNGs nicht unterstützt wird. Schade...
Ich dachte immer, dass die DPI grundsätzlich vom Ausgabegerät (und dessen Grösse
abhängen). Wenn ich ein 1024x768 Bild auf einer Postkarte drucke, dann habe ich
doch einen anderen Wert für DPI als wenn ich das gleich Bild auf einem A3 Poster
drucke...

Andersrum: kann ein Bild eine Auflösung unabhängig von einem Ausgabegerät haben?

Thomas
Vinzent 'Gadget' Hoefler
2005-06-03 14:05:01 UTC
Permalink
Post by Thomas Kellerer
Andersrum: kann ein Bild eine Auflösung unabhängig von einem
Ausgabegerät haben?
Ja. Manchmal sollen fuenf Zentimeter immer fuenf Zentimeter sein.


Vinzent.
--
worst case: The wrong assumption there actually is one.
Steffen Ramlow
2005-06-03 15:06:10 UTC
Permalink
Post by Vinzent 'Gadget' Hoefler
Ja. Manchmal sollen fuenf Zentimeter immer fuenf Zentimeter sein.
Und manchmal 15 25 :)
--
Alle gegen Alle.
http://www.fightclub-berlin.de
Lothar Kimmeringer
2005-06-03 15:12:17 UTC
Permalink
Post by Steffen Ramlow
Post by Vinzent 'Gadget' Hoefler
Ja. Manchmal sollen fuenf Zentimeter immer fuenf Zentimeter sein.
Und manchmal 15 25 :)
Du liest zu viele Spammails.


Gruesse, Lothar
--
Lothar Kimmeringer E-Mail: ***@kimmeringer.de
PGP-encrypted mails preferred (Key-ID: 0x8BC3CD81)

Always remember: The answer is forty-two, there can only be wrong
questions!
Sven Köhler
2005-06-05 04:32:48 UTC
Permalink
Post by Thomas Kellerer
Ich dachte immer, dass die DPI grundsätzlich vom Ausgabegerät (und dessen Grösse
abhängen). Wenn ich ein 1024x768 Bild auf einer Postkarte drucke, dann habe ich
doch einen anderen Wert für DPI als wenn ich das gleich Bild auf einem A3 Poster
drucke...
Ja, so ist das.

Es gibt aber Leute, die steif und fest behaupten, dass ein Bild für's
Web 72 DPI haben müssen, und ein Bild für den Druck doch mindestens 300 DPI.

Solch gesundes Halbwissen wird Leuten von diversen Lehrkräften
vermittelt, die es eventuell nichtmal besser wissen.

Dabei beziehen sich diese Leute auf die im Bild zusätzlich gespeicherte
DPI-Information, die allerdings bei deinem Beispiel keinerlei Rolle spielen.
Post by Thomas Kellerer
Andersrum: kann ein Bild eine Auflösung unabhängig von einem Ausgabegerät haben?
Nein, aber die meisten Programme speichern die z.B. beim Scannen
ermittelte DPI-Zahl in den Bilddateien ab.

Ich glaube sogar Photokameras speichern DPI mit ab - mir ist allerdings
schleierhaft, welchen Bezug diese Angabe haben soll.
Bernd Eckenfels
2005-06-05 04:51:53 UTC
Permalink
Post by Sven Köhler
Es gibt aber Leute, die steif und fest behaupten, dass ein Bild für's
Web 72 DPI haben müssen, und ein Bild für den Druck doch mindestens 300 DPI.
Sagen wir es mal so, wenn du ein Bild unskaliert auf einem Bildschirm
ausgibst und es mehr als 72-100dpi hat wird es sehr gross. Umgekehrt wird
ein Bild mit 72dpi auf einem Drucker wenn es nicht skaliert wird sehr
klein... von daher macht es schon Sinn das Bild auf die Auflösung des
Ausgabemediums hin zu optimieren. Beim Bildschirm macht man das aber i.A.
über die Absolutgröße in Pixel (jeder weiss ja dass bei Seitenbreiten > 800
Pixel einige Monitore schon zu Ende sind).

Aber wie du richtig bemerkst geht es da nicht um die Pixeldichte im Bild
sondern um die Auflösung des Gerätes (um eine gewünschte Größe zu bekommen).

Bei Druckern ist es weniger bekannt, dass eine A4 Seite bei einem 300 DPI
2480Pixel hat (je nach Ränder), da rechnet man eher mit Größe x Auflösung.
Post by Sven Köhler
Ich glaube sogar Photokameras speichern DPI mit ab - mir ist allerdings
schleierhaft, welchen Bezug diese Angabe haben soll.
Ich glaube da geht es nur um eine "virtuelle" Foto-Orginalgröße. Manche
Kameras schreiben aber auch einfach gängige Bildschirm Auflösungen rein dass
in den Betrachtern nicht skaliert wird. Man könnte auch so pervers sein und
die Punktdichte des Sensors berechnen und als DPI angeben :)

Gruss
Bernd

Marco Schmidt
2005-06-03 16:58:33 UTC
Permalink
Christian Lübke:

[...]
Post by Christian Lübke
Jetzt möchte ich natürlich nicht hartcodiert davon ausgehen, dass jede
Grafik in 300 dpi vorliegt ;-)
Das wär auch nicht so sinnvoll. Ich hab dem Thema nach der x-ten
Mailanfrage kürzlich mal einen eigenen Artikel gewidmet:
<http://www.geocities.com/marcoschmidt.geo/physical-image-resolution.html>.
Wichtigstes Detail: Manchmal liegt die physikalische Information
einfach nicht vor.
Post by Christian Lübke
Google konnte mir auch nicht wirklich weiterhelfen - gefunden habe ich
bspw. ImageInfo, allerdings steht da schon klipp und klar drin, dass die
dpi-Angabe bei PNGs nicht unterstützt wird. Schade...
Wenn es Dir wichtig genug ist, kannst Du es selbst implementieren. Du
mußt in einer Schleife Chunks lesen, bis ein phys-Chunk "vorbeikommt"
oder der erste Bilddaten-Chunk kommt. Die Schleife ab
<http://jiu.sourceforge.net/doc/api/src-html/net/sourceforge/jiu/codecs/PNGCodec.html#line.564>
plus Methode loadChunk können vielleicht als Inspiration dienen.

Gruß,
Marco
--
Bitte nur in der Newsgroup antworten, nicht per Email!
de.comp.lang.java Homepage: http://www.dclj.de/
FAQ: http://www.faqs.org/faqs/de/comp-lang-java/faq/
Meine Java-Seiten: http://www.geocities.com/marcoschmidt.geo/java.html
Loading...