我需要在 PHP 中将动画 GIF 转换为静态。我的意思是例如使用它的第一帧。知道该怎么做吗?
问问题
2761 次
4 回答
4
“剥离”动画的 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);
于 2010-08-01T00:05:21.100 回答
3
看看http://php.net/manual/en/function.imagecreatefromgif.php
检查来自 max lloyd 的代码片段。
于 2010-07-31T23:56:08.663 回答
2
我能想到的最好方法(不是很可爱)是将 gif 转换为 png/jpeg,然后再将其转换为 gif,:P
试试这个转换;) http://gallery.menalto.com/node/13206
希望这对你有帮助
于 2010-07-31T23:55:52.687 回答
1
于 2010-07-31T23:57:15.817 回答