Animiertes gif nach verkleinern nicht mehr animiert

Kurt Cobain

Erfahrenes Mitglied
Hallo

Also ich hab ne PHP Funktion, die mir aus Bildern Thumbnails erstellt.
Das klappt auch alles.

Wenn ich jetzt aber ein animiertes Gif verkleinern will ist es danach nicht mehr animiert.

Geht das mit PHP nicht anders, oder was muss ich ändern, dass das Bild danach auch noch animiert ist?

Hier die Funktion
PHP:
function createThumbnail($imageFile, $thumbFile, $thumbMaxWidth, $thumbMaxHeight)
{

    if (!($srcImg = @imagecreatefromgif($imageFile))) {
      die("AGERROR:Konnte Thumbnail nicht erstellen.");
    }
    $origWidth = imagesx($srcImg);
    $origHeight = imagesy($srcImg);
    if ($origWidth > $origHeight) {
     $ratio = $origWidth / $thumbMaxWidth;
     $thumbWidth = $thumbMaxWidth;
     $thumbHeight = ceil($origHeight / $ratio);
    } else {
     $ratio = $origHeight / $thumbMaxHeight;
     $thumbHeight = $thumbMaxHeight;
     $thumbWidth = ceil($origWidth / $ratio);
    }
    $thumbImg = imagecreatetruecolor($thumbWidth, $thumbHeight);
    imagecopyresampled($thumbImg, $srcImg, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $origWidth, $origHeight);
    imagegif($thumbImg, "$thumbFile");

}
Gruß ich
 
Also ich hatte das Prob auch mal und die Antwort ist simpel.
Du veränderst die Attribute des Bildes, jedoch nicht den Inhalt.
Stell dir das mal so vor:

Du arbeitest irgendwo und bekommst dafür ne Benotung.
Da dieser der dich arbeiten sehen hat aber nicht nur benotet sondern auch gesehen hat was du erbracht hast, wird er zusätzlich noch eine Bewertung oder Empfehlung abgeben.

Aufs Bild übetragen:

GIF -> 800x600 change -> 640x480
Inhalt -> Ani change -> aktuelles Bild wird verkleinert.

Ich hoffe das war jetzt nicht zu sehr kompliziert. ;)


Wenn dann musste den Inhalt auch irgendwie Frame für Frame verkleinern.
Ist ne sau arbeit jenachdem welchen Umfang es hat.
 
Schau dir mal folgende Klasse an: http://www.phpclasses.org/browse/package/3163.html
Diese baut aus einzelnen Frames ein animiertes Gif. Vielleicht kannst du daraus den anderen Weg bauen, sprich aus einem Gif einzelen Frames bauen und dann die einzelnen Frames verkleinern und mit der Klasse dann wieder ein Gif bauen.

Ansonsten hab ich über Google noch http://phpthumb.sourceforge.net/ gefunden. Habe mir das Script nicht genau angeschaut. Es wird aber geschrieben, das GD Lib, bzw bei komplexeren Sachen GD2 Lib genutzt wird und nur für Geschwindigkeitsverbesserungen Imagemagick (was nicht überall vorhanden ist, aber auch eine Lösung bietet).

Vielleicht hilft dir das um weiter zu kommen.
 

Neue Beiträge

Zurück