2010-07-31 6 views

Répondre

4

« Stripping » le GIF d'animation peut être fait en le convertissant en un autre format et puis de retour. PNG est un bon candidat pour cet "autre format", car il est non-lossy, contrairement au JPEG. Utilisation des fonctions phps GD, et pour sortir un PNG au lieu d'un GIF:

header('Content-type: image/png'); 
imagepng(imagecreatefromgif($file)); 

Cela pourrait fonctionner (ont pas testé) si PHP/GD ne supporte pas les fichiers GIF animés (je ne pense pas que ce soit); et il affichera l'image au format GIF, contrairement à l'extrait ci-dessus:

header('Content-type: image/gif'); 
imagegif(imagecreatefromgif($file)); 

Si cela ne fonctionnera pas, et la sortie au format GIF est essentiel, cela:

$img1 = imagecreatefromgif($file); 
$size = getimagesize($img1); 
$img2 = imagecreatetruecolor($size[0], $size[1]); 
imagecopy($img2, $img1, 0, 0, 0, 0, $size[0], $size[1]); 
header('Content-type: image/gif'); 
imagegif($img2); 
2

La meilleure façon que je pouvais penser (pas très mignonne) est de convertir le GIF en PNG/jpeg puis tournez à gif à nouveau,: P

essayer pour la conversion;) http://gallery.menalto.com/node/13206

espérons que cela vous aide

+0

Clairement, la conversion au format PNG est la meilleure alternative si c'est ce que vous choisissez de faire. Cependant, comme PHP/GD ne semble pas supporter les GIF animés, "convertir" en GIF (par exemple 'imagegif (imagecreatefromgif ($ fichier));') pourrait fonctionner. – You

Questions connexes