我无法弄清楚如何使用Imagick模块创建动画GIF的静态预览。 有没有办法获得动画图像的第一帧并保存为GIF?
答案 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