PHP Gif GD библиотеки анимация потери только первый показанный кадр - PullRequest
0 голосов
/ 21 ноября 2011

У меня проблема с библиотеками GD.

Когда я использую imagecreatefromgif или что-то подобное, с уже анимированным GIF, я просто получаю один кадр для отображения.Нет анимации, поэтому.

Я перепробовал все, что есть в сети, безрезультатно.Знаете ли вы, как правильно показать анимацию GIF с библиотеками GD?Это просто расстраивает, когда я вижу эти картинки застрявшими без анимации ...

Ответы [ 3 ]

0 голосов
/ 22 ноября 2011

Вы не можете сделать это с GD. Для этого необходимо установить ImageMagick (на сервере). Затем вы отправляете команду, чтобы сделать то, что вы хотите.

Например, чтобы изменить размер анимированного GIF:

exec('convert ' . escapeshellarg($originalfile) . ' -coalesce -resize ' . $width . 'x' . $height . ' -layers optimize ' . escapeshellarg($newfile));

См. Также: [1] , [2]

0 голосов
/ 29 декабря 2011

Может быть, вы захотите проверить библиотеку SVGDreams .Это библиотека анимации SVG с поддержкой ajax и клавиатуры.

0 голосов
/ 22 ноября 2011

Хотя я лично никогда не сталкивался с ними, говорят, что библиотека GD имеет некоторую поддержку GIF для создания анимированных GIF-файлов. Из FAQ :

Да. Поддержка GIF была восстановлена ​​в gd 2.0.28 21 июля 2004 года. Также доступна поддержка создания GIF-анимации. Обратите внимание, что gdlib-config --features может использоваться для вывода списка форматов изображений, поддерживаемых gd. Версии gdlib-config до недавних обновлений не поддерживают опцию --features, что означает, что GIF недоступен.

Однако, насколько я знаю, он не имеет возможности читать анимированные GIF-файлы.

Вам придется обратиться к ImageMagick , если вы хотите обрабатывать анимированные GIF-файлы .

...