Dies ist eigentlich eine zweiteilige Frage, da ich noch nicht ganz verstehe, wie diese Dinge funktionieren:
Meine Situation: Ich schreibe eine Web-App, mit der der Benutzer ein Bild hochladen kann. Meine App ändert dann die Größe auf etwas anzeigbar (z. B. 640x480-ish) und speichert die Datei zur späteren Verwendung.
Meine Fragen:
- Ist es möglich, aus einer beliebigen JPEG-Datei die Qualitätsstufe zu ermitteln, so dass ich beim Speichern des verkleinerten Bildes dieselbe Qualität verwenden kann?
- Ist das überhaupt von Bedeutung? Sollte ich alle Bilder mit einer angemessenen Stufe (z. B. 75-80) speichern, unabhängig von der ursprünglichen Qualität?
Ich bin mir da nicht so sicher, denn ich denke, wenn jemand ein 5-Megapixel-Bild mit der Qualität 0 speichern würde, wäre es so blockig wie möglich. Bei einer Verkleinerung des Bildes auf 640x480 würde die Blockhaftigkeit geglättet werden und kaum weniger auffällig... bis ich es wieder mit Qualität 0 gespeichert habe...
Am anderen Ende des Spektrums, wenn es ein Bild mit 800x600 und q=0 gibt, wird die Größenänderung auf 640x480 nichts daran ändern, dass es wie völliger Mist aussieht, also wäre das Speichern mit q=80 überflüssig.
Bin ich überhaupt nah dran?
Ich verwende die GD2-Bibliothek auf PHP, falls das von Nutzen ist