Connexion

créer un GIF animé en PHP

Posté le Lundi 2 juillet 2007 à 3 h 56, Read it in english with Google

Après de nombreuses recherches infructueuses sur google, je me suis finallement tourné vers exalead pour trouver comment créer un GIF animé à partir de plusieurs images GIF en php.

C’est finalement sur phpclasses que le code se trouvait : GIFmerge
Comme je ne suis pas partisan de phpclasses (plein de pub, laid et mal organisé) et vu qu’il vous faut un compte utilisateur pour télécharger la class, voici le package.

Simple et pratique. Le fiichier de sortie correspond apparemment au format. On peut bien sur créer un assemblage de GIF sorti de la librairie GD, ainsi vous pouvez entièrement créer une animation en php.

Voici un petit exemple :

include "GIFEncoder.class.php";

$string = "XoraX";

$txt = "";
$imgs = array();
$t = array();

foreach(str_split(" ".$string) as $c){
  $txt .= $c;
  $im = @imagecreatetruecolor(120, 20);
  $bg = imagecolorallocate($im, 255, 255, 255);
  imagefill($im, 0, 0, $bg);
  $textcolor = imagecolorallocate($im, 0, 0, 255);
  imagestring($im, 5, 40, 0, $txt, $textcolor);
  ob_start();
  imagegif($im);
  $imgs[] = ob_get_clean();
  $t[] = 10;
  imagedestroy($im);
}

$gif = new GIFEncoder (
  $imgs,
  $t,
  0,
  2,
  0, 0, 0,
  "bin"
);
   
Header("Content-type:image/gif");
echo $gif->GetAnimation();

ce qui donne :
xorax gif

7 Réponses à “créer un GIF animé en PHP”

  1. Istasse

    Vraiment,bon tuto,mais quelques commentaires en plus dans le code source ne serais pas de refus !

    Merci ^^

  2. hagor

    je n’arrive toujour pas a savoir comment redimensionner un fichier en gif animée a la volé

  3. katia

    Parse error: syntax error,on line 10

    dommage :-((

  4. XoraX

    pas chez moi.
    j’ai changé les quotes du code (problème de formatage).

  5. Zamora

    Ce logiciel est génial Merci ^^

  6. Arcanis

    Merci, ce petit script vient de me sortir d’un mauvais pas :-)

  7. pizza

    Parse error: syntax error,on line 10

    j’ai le même problème, mais chez moi ceci est dû au fait que “str_split()” fonctionne avec php5 et moi j’ai php4

    sinon bien le tuto ;)

Laissez un commentaire :