我需要在PHP中将动态GIF转换为静态图像。我的意思是例如使用它的第一帧。有任何想法如何做到这一点吗?
将GIF动画剥离可以通过将其转换为另一种格式,然后再转换回来来实现。PNG是这种“其他格式”的很好的选择,因为它是非损失性的,不像JPEG。使用PHP的GD函数,并输出PNG而不是GIF:
header('Content-type: image/png');
imagepng(imagecreatefromgif($file));
header('Content-type: image/gif');
imagegif(imagecreatefromgif($file));
$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);
imagegif(imagecreatefromgif($file));
)可能会起作用。 - You