Dateigrösse bei Bildern berechnen
Jan
- grafik
0 Paul Styrnol0 Kerstin0 Sebastian Becker0 Jan0 Sebastian Becker0 Jan
0 nowak
Hi,
gibt es eine Möglichkeit,
die zu erwartenden Dateigrössen bei Images zu berechnen?
Ich möchte ein PHP-Bildgrössenscript programmieren,
was sich in erster Linie an der Dateigrösse orientiert.
Bsp.: das File darf max. 14kB haben und grössere Bilder
möchte ich automatisch proportional kleiner rechnen.
Für gifs wird das sicher schwierig,
aber sind jpgs vielleicht irgendwie definiert, dass man sagen kann:
Alle jpgs mit 30000 Bildpunkten (100px x 300px) haben x kB?
Geht sowas oder muss ich in einer Schleife
immer wieder verkleinern -> speichern -> neu auslesen,
bis die gewünschten kB erreicht sind?
Danke Euch, Jan
Hallo,
Für gifs wird das sicher schwierig,
aber sind jpgs vielleicht irgendwie definiert, dass man sagen kann:
Alle jpgs mit 30000 Bildpunkten (100px x 300px) haben x kB?
Ich bin zwar nicht sonderlich bewandert auf dem Gebiet, aber ich glaube nicht, dass man an den Bildmaßen pauschal festlegen kann, schließlich kann man bei jpgs die Qualität einstellen, und das wirkt sich auf die Dateigröße aus.
Gruß
Paul
Hallo
gibt es eine Möglichkeit,
die zu erwartenden Dateigrössen bei Images zu berechnen?
Lässt sich mit den Dateifunktionen nicht auch die Dateigrösse abfragen?
Ich möchte ein PHP-Bildgrössenscript programmieren,
was sich in erster Linie an der Dateigrösse orientiert.
Bsp.: das File darf max. 14kB haben und grössere Bilder
möchte ich automatisch proportional kleiner rechnen.
Vielleicht hilft Dir das weiter:
http://www.koehntopp.de/php/graphics.html#grafik-verkleinern
viele Grüsse
Kerstin
Hi, Jan,
warum nimmst Du nicht getimagesize?
http://www.php.net/manual/en/function.getimagesize.php
Grüße,
Sebastian
Hi, Jan,
warum nimmst Du nicht getimagesize?
Grüße,
Hi Sebastian,
das kann leider nur die Pixel (Breite und Höhe).
Aber Dateigrösse geht nur mit filesize.
Ich muss wohl mal ein paar Testreihen machen,
ob die Dateigrösse sich proportional mit der Bilsgrösse ändert.
Dann könnte ich die grosse datei auslesen und
mit entsprechenden Berechnungen die neue Höhe/Breite bestimmen.
Wäre gut, ansonsten fällt mir echt nur:
Verkleinern -> Speichern -> Auslesen -> Laden -> Verkleinern -> Speichern ...
ein, bis die gewünschte Grösse ewrreicht ist.
Danke an Euch alle und Gruss, Jan
Hi, Jan,
warum nimmst Du nicht getimagesize?
http://www.php.net/manual/en/function.getimagesize.php
das kann leider nur die Pixel (Breite und Höhe).
Aber Dateigrösse geht nur mit filesize.
Tschuldigung, das meinte ich ja eigentlich:
http://www.zend.com/manual/function.filesize.php
Funktioniert das denn nicht?
Ich muss wohl mal ein paar Testreihen machen,
ob die Dateigrösse sich proportional mit der Bilsgrösse ändert.
Dann könnte ich die grosse datei auslesen und
mit entsprechenden Berechnungen die neue Höhe/Breite bestimmen.
Die Größe hängt aber auch vom Bildinhalt, vom Format und vom Kompressionsgrad ab.
Wäre gut, ansonsten fällt mir echt nur:
Verkleinern -> Speichern -> Auslesen -> Laden -> Verkleinern ->
Speichern ... ein, bis die gewünschte Grösse ewrreicht ist.
Das hört sich nicht sehr elegant an ...
Grüße,
Sebastian
Verkleinern -> Speichern -> Auslesen -> Laden -> Verkleinern ->
Speichern ... ein, bis die gewünschte Grösse ewrreicht ist.
Das hört sich nicht sehr elegant an ...
Hi Sebastian,
genau das wäre meine filesize-Lösung ...
Ich würde aber auch lieber was anderes machen ...
Grüsse, Jan
Hi,
gibt es eine Möglichkeit,
die zu erwartenden Dateigrössen bei Images zu berechnen?
Meines Wissens gibt es da keine festen Werte. Man kann an Hand von Auflösung und Farbtiefe die maximale Größe ganz grob abschätzen... aber wie das nach der jpg-Kompression aussieht kann man echt nur raten, weil die Komprimierung ja von der Art des Bildes (Motiv etc.) abhängt.
Was man nach meiner Erfahrung sagen kann ist, daß sozusagen die ersten Prozent Komprimierung die stärkste Verkleinerung der Datei hervorbringen. Ein 1.2 MB großes Bild auf 85% der Qualität reduziert hat dann etwa noch 50kB (also um mehr als die Hälfte kleiner), die Qualität auf 75% gesetzt bringt dann 35 kB Dateigröße. Der Prozeß verläuft also nicht linear.
Aber wie er verläuft... dafür haben Bildbearbeitungsprogramme ja eine Vorschaufunktion.