1

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

4

2 回答 2

6

我找到了一个解决方案:

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

我不知道如何从图像序列中引用第一帧,所以不得不做一个循环并立即中断。如果有人知道该怎么做,请告诉我。谢谢。

于 2013-03-26T14:58:21.303 回答
0

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

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

尽管 ImageMagick 需要存在于您的服务器上,并且 PHP 必须能够访问它。

用法:

convert 'image.gif[0]' singleframe.gif
于 2013-03-26T14:14:18.110 回答