J'ai besoin de redimensionner un fichier GIF animé sans détruire l'animation.
Comment puis-je le faire en utilisant PHP?
J'ai besoin de redimensionner un fichier GIF animé sans détruire l'animation.
Comment puis-je le faire en utilisant PHP?
si vous avez imagemagick d'accès, vous pouvez le faire:
system("convert big.gif -coalesce coalesce.gif");
system("convert -size 200x100 coalesce.gif -resize 200x10 small.gif");
ce risque est plus possible avec la imagemagick plugin si vous n'avez pas de système de() l'accès
REMARQUE: ceci peut créer une plus grande taille bien plus petite des dimensions de l'image due à la coalescence essentiellement deoptimizing l'image.
Mise à JOUR: Si vous n'avez pas ImageMagick d'accès, vous devriez être en mesure d'utiliser une combinaison des étapes suivantes pour redimensionner un gif animé (en supposant que vous avez GD accès):
C'est certainement beaucoup plus intensive que la ImageMagick route, mais il doit être techniquement possible.
Si vous obtenez ce travail, s'il vous plaît partager avec le monde entier!
Essayez GDEnhancer http://www.gdenhancer.com Il suffit d’utiliser la bibliothèque GD et de garder une animation gif
Vous devez décomposer le gif en images, vignettes et réassembler.
Regardez ImageMagick: http://php.net/imagick et ce tutoriel: http://www.phpro.org/examples/Thumbnail-From-Animated-GIF.html
J'ai essayé de nombreux exemples de redimensionnement de GIF animés avec le module PHP Imagick, mais aucun d'entre eux n'a fonctionné pour moi. Puis, après un certain temps de débogage, j'ai trouvé le problème: l'animation a été perdue lors de l'enregistrement de l'image sur le disque, de $animation->writeImage($file_dst);
ou $animation->writeImages($file_dst, true);
Je l'ai changé en file_put_contents($file_dst, $animation->getImagesBlob());
et la plupart des exemples ont commencé à fonctionner immédiatement.
J'espère que ça aide quelqu'un.
L'exemple sur http://www.php.net/manual/en/imagick.coalesceimages.php redimensionnera votre gif tout en conservant la synchronisation de votre cadre. Ce que la plupart des autres exemples ne font pas.
D'autres exemples reconstruisent le gif alors que celui-ci vous permet de modifier les cadres de l'image.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.