我需要在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);
关于php - 如何在PHP中将动画GIF转换为静态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3380214/