繁体   English   中英

如何在PHP中将动画GIF转换为静态?

[英]How to convert animated GIF to static in PHP?

我需要在PHP中将动画GIF转换为静态。 我的意思是例如使用它的第一帧。 知道怎么做吗?

“剥离”动画的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);

看看http://php.net/manual/en/function.imagecreatefromgif.php

检查max lloyd的代码片段。

我能想到的最好的方法(不是很可爱)是将gif转换为png / jpeg,然后再将其转换为gif,:P

尝试这个转换;) http://gallery.menalto.com/node/13206

希望这能帮助你

是的,您可以尝试使用gd库

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

看看imagejpeg()函数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM