通过PHP将动画gif转换为PNG


Convert animated gif into PNG via PHP

以下是我用来将GIF文件转换为PNG文件并将其保存为变量的代码:

        $art = $_FILES["art"]["name"];
        $art_ext = pathinfo($art, PATHINFO_EXTENSION);
        if(strtoupper($art_ext)=="GIF"){
            $art =  imagepng(imagecreatefromstring(file_get_contents($_FILES["art"]["tmp_name"])), $art."png");    
        }
        if($art!=""){
        move_uploaded_file($art, "images/".$art );
    }

还有,有没有一种方法可以将动画gif转换为静态gif?

此代码应该可以工作。我想你是在用PHP将JPG/GIF图像转换为PNG?要将gif转换为静态jif,您可以诚实地将使用当前代码创建的png文件重命名为jif。所有现代的web浏览器和应用程序都会对静态jif和png一视同仁。

若要获得动画gif的第一帧,可以使用imagecreatefromgif,若要保存为gif,则可以使用imagegif,因此它将是:

$art =  imagegif(imagecreatefromgif($_FILES["art"]["tmp_name"]), $art."gif");