• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

Thumbnails mit imagick mehr KB als Originalbilder

handschigl

New Member
Hallo,

ich lasse mit der nachfolgenden Funktion Thumbnails erstellen.
Code:
function thumbnail($original, $neu, $breite, $hoehe){
         $info = getimagesize($original);
         switch ($info[2]){
                 case 1: // GIF
                         $art = 'gif';
                 break;
                 case 2: // JPEG
                         $art = 'jpg';
                 break;
                 case 3: // PNG
                         $art = 'png';
                 break;
                 default:
                         die('Unsupported imageformat');
         }
         $thumb=new Imagick($original);
         $thumb->thumbnailImage($breite,$hoehe,true);
         $thumb->writeImage($neu.'.'.$art);
}
Heute habe ich aber festgestellt, dass diese Thumbnails meist größer (KB) sind als die Originalgrafiken und das oft erheblich.
Vor allem auffällig ist es bei png-Grafiken... bei gif-Grafiken bleiben die KB in der Regel gleich und bei jpg-Grafiken sinken sie leicht.

Ein Beispiel: http://www.barclaycard.de/media/card_image_blau_Gold_Visa,6879,1.png wird mit der oben genannten Funktion auf eine Größe von ca. 150x90 verkleinert. Das Original ist 43,3 KB groß, der Thumbnail 72,2 KB...

Woran liegt das?
 
Zumindest bei JPEG und PNG gibt es Möglichkeiten die Dateigröße zu verringern ohne dass man Bildqualität verliert, mit der sog. verlustlosen Transformation.

JPG mit jpegtran
Code:
jpegtran -optimize bild.jpg > bild.optimiert.jpg

PNG mit optipng
Code:
optipng -o7 bild.png

Geht natürlich nur wenn du mit PHP ext. Programme ausführen darst.
 
Hi, Danke!

Gibt es dafür keine PHP-internen Möglichkeiten? Es gibt zwar setImageCompression und setImageCompressionQuality, aber wenn ich mich nicht irre, ist das nur für JPG-Grafiken...

Und optipng bringt auch nicht viel. Statt 73616 Bytes sind es danach 73779 Bytes. Dafür dass das größere Original nur 43 KB hat, ist das auch nicht gerade das, was ich mir vorgestellt habe...
 
Back
Top