Bildauflösung auslesen

Hallo!

Wie kann ich die Auflösung eines Bildes (jpg, png, gif, eventuell noch tif und bmp) auslesen? Ich hab bereits recherchiert, finde aber über google nur ein Script, das war manchmal aber eben leider nicht immer die richtige Auflösung zurückgibt:

$fh = fopen($img, ‚r‘);
$header = fread($fh, 16);
fclose ($fh);
$aufloesung = unpack(‚x14/ndpi‘, $header);
echo "Auflösung: ".$aufloesung[‚dpi‘];

Ab und an, und ich weiß nciht wieso, liefert mir das aber für ganz normale JPEG Bilder Auflösungen von 0 oder 1 zurück. Daher: Kennt jemand ein besseres Script zum Auffinden der Bildauflösung?

Danke.
Chi

Hi Chi,

dafür gibt es die Funktion getimagesize

http://de.php.net/manual/de/function.getimagesize.php

Gruß Michi

Hallo!

Wie kann ich die Auflösung eines Bildes (jpg, png, gif,
eventuell noch tif und bmp) auslesen? I

Ab und an, und ich weiß nciht wieso, liefert mir das aber für
ganz normale JPEG Bilder Auflösungen von 0 oder 1 zurück.

ich hatte vor kurzem die ehre das fuer jpeg umzusetzen:

es muss nicht zwangslaeufig die aufloesung angegeben sein, es kann auch nur das seitenverhaeltnis angegeben sein.
die aufloesung kann sowohl in px/cm als auch in px/inch angegeben sein.
weiterhin kann eine gueltige aufloesung nicht nur im jpeg-header sondern auch in den exifheadern versteckt sein.

mit php geht es nicht, du musst dich auf ein externes tool wie z.b. identify (imagemagick) beziehen.

Ich seh nicht wie. Ich kenn getimagesize, aber damit kriegt man Höhe, Breite, etc. aber soweit ich das weiß (und ich habs nochmal nachgesehn) nicht die Auflösung. Wenn das was mit dem zweiten Parameter array $imageinfo zu tun hat, möchte ich dich bitten, mir zu erklären, wie das genau funktioniert.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Äh, was verstehst du denn genau unter Auflösung?
Ich dachte du meinst mit Auflösung wie viele Pixel
die Grafik hat, das kann man sich mit Breite * Höhe
ausrechnen, die Werte für die Breite und Höhe liefert
getimagesize. Wenn du wirklich den dpi-Wert haben möchtest,
dann wirst du, wie dog.je schon beschreiben hat auf eine externe
Bibliothek zurückgreifen müssen.

Gruß Michi

Äh, was verstehst du denn genau unter Auflösung?
Ich dachte du meinst mit Auflösung wie viele Pixel
die Grafik hat, das kann man sich mit Breite * Höhe
ausrechnen, die Werte für die Breite und Höhe liefert
getimagesize. Wenn du wirklich den dpi-Wert haben möchtest,
dann wirst du, wie dog.je schon beschreiben hat auf eine
externe
Bibliothek zurückgreifen müssen.

Yup ich meinte die dpi. Die lassen sich allein aus Höhe und Breite ja nicht erkennen, soweit ich das verstanden hab (hab mit Grafik nicht so viel am Hut).