Как конвертировать анимированный GIF в статический в PHP? - PullRequest
2 голосов
/ 01 августа 2010

Мне нужно преобразовать анимированный GIF в статический в PHP.Я имею в виду, например, использовать его первый кадр.Есть идеи, как это сделать?

Ответы [ 4 ]

4 голосов
/ 01 августа 2010

«Удаление» GIF-анимации может быть выполнено путем преобразования его в другой формат и затем обратно.PNG является хорошим кандидатом для этого «другого формата», так как он без потерь, в отличие от JPEG.Использование функций PHP GD и вывод PNG вместо GIF:

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

Это может работать (не проверялось), если PHP / GD не поддерживает анимированные GIF (я не думаю, что это так).);и он выведет изображение в формате GIF, в отличие от приведенного выше фрагмента:

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

Если это не сработает, а вывод в формате GIF необходим, это будет:

$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);
3 голосов
/ 01 августа 2010

Взгляните на http://php.net/manual/en/function.imagecreatefromgif.php

Проверьте фрагмент кода от Макса Ллойда.

2 голосов
/ 01 августа 2010

Лучший способ, которым я мог бы подумать (не очень симпатичный), - преобразовать gif в png / jpeg, а затем снова превратить его в gif: P

попробуйте это для конвертации;) http://gallery.menalto.com/node/13206

надеюсь, что это поможет вам

1 голос
/ 01 августа 2010

да, вы можете попробовать библиотеку gd для этого

http://php.net/manual/en/book.image.php

взглянуть на imagejpeg() функцию

...