Dateigröße eines Bildes reduzieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dateigröße eines Bildes reduzieren

    Hi,

    hat jemand eine intelligente Methode, um die Dateigröße eines Bildes auf einen bestimmten Wert zu reduzieren?

    Dazu folgendes: Ein Bild (jpg) würde per Formular auf meinen Server geladen. Die Datei größe ist <2MB. Es soll jetzt ein Thumb mit ImageMagick erstellt werden, der genau 640x480 Pixel groß ist (proportional skaliert). Bis hierhin klappt's auch wunderbar. Ich möchte an dieser Stelle aber auch noch die Dateigröße auf x kB reduzieren. Dazu wird die Qualität herabgesetzt.

    Ich könnte jetzt in einer Schleife überprüfen, ob die Dateigröße bereits stimmt. Wenn nicht, Qualität um 10% (5%) reduzieren etc. Das kann aber u.U. lange dauern und kostet wahrscheinlich viel Performance.

    Kann man vielleicht aus der Differenz der tatsächlichen und der gewünschten Dateigröße eine Abschätzung für die Qualitätsredunktion machen? Fällt da jemand eine intelligentere Methode ein?

    CU
    rivella

  • #2
    lass dir mal in den codeschnipseln alle beiträge von derHund anzeigen ... mir war so, als wär da was
    Kissolino.com

    Kommentar


    • #3
      Re: Dateigröße eines Bildes reduzieren

      mir war so, als wär da was
      mir auch ...
      http://www.php-resource.de/forum/sho...threadid=44113
      Ich könnte jetzt in einer Schleife überprüfen, ob die Dateigröße bereits stimmt. Wenn nicht, Qualität um 10% (5%) reduzieren etc. Das kann aber u.U. lange dauern und kostet wahrscheinlich viel Performance.
      nichts anderes macht meine funktion auch ... nur etwas performanter. man könnte eventuell die optimale schrittanzahl verringern, indem man noch ein paar sachen einbaut/verändert, wie min/max-qualität, abweichung von ziel, etc.

      mir fallen gerade noch andere nette sachen ein, mal schauen.
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        Den Thread habe ich gelesen. Gar nicht so schlecht, das mit einer Iteration zu lösen. Wie performant ist das denn? Hast du das mal getestet?

        Ziel ist es, das ganze möglichst hochperformant zu machen. Vielleicht gibt es da eine Abschätzung bzgl. Dateigröße <-> Qualität <-> Bildgröße. Trotzdem, 6 Iterationen sind schon ziemlich gut.

        Ich werde das ganze demnächst mal in eine Klasse packen.

        CU
        rivella

        Kommentar


        • #5
          @ rivella

          Interesantes Thema....

          Hatte mir früher mal sowas überlegt, aber nie getestet... nicht lachen...

          Schritt 1: dateigröße in byte ermitteln.
          Schritt 2: aussenmaße ermitteln.

          Und dann $wert = aussenmaße / byte

          Der $wert müßte doch immer gleich sein, ob nun ein Bild groß oder klein ist. Und somit kann man doch bestimmen, ob die Qualität um 5% oder 15% verringert werden müßte.

          Die höhe des optimalen $wert müßte man dann jeweils für sich selber ermitteln.

          Hoffe ihr versteht was ich meine.

          Gut geraten ist halb gewußt.

          Kommentar

          Lädt...
          X