如何使用PHP和Imagick创建动画GIF的静态预览?

时间:2013-03-26 14:01:37

标签: php preview imagick

我无法弄清楚如何使用Imagick模块创建动画GIF的静态预览。 有没有办法获得动画图像的第一帧并保存为GIF?

2 个答案:

答案 0 :(得分:6)

我找到了解决方案:

$image = new Imagick('animation.gif');
$image = $image->coalesceImages();
foreach ($image as $frame) {
    $frame->cropThumbnailImage(90, 90);
    break;
}
$frame->writeImage('frame.gif'); 

我没有弄清楚如何从图像序列中引用第一帧,因此必须进行循环并立即中断。如果有人知道该怎么做,请告诉我。感谢。

答案 1 :(得分:0)

要在JavaScript中执行此操作,请检查:http://slbkbs.org/jsgif/

如果您想在服务器端执行此操作,请查看ImageMagick:http://www.imagemagick.org/script/index.php

虽然ImageMagick需要存在于您的服务器中,但PHP必须能够访问它。

<强>用法:

convert 'image.gif[0]' singleframe.gif