【问题标题】:Convert animated gif into PNG via PHP通过 PHP 将动画 gif 转换为 PNG
【发布时间】:2013-09-05 02:36:00
【问题描述】:

以下是我用来将 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?

【问题讨论】:

  • 请说明您的实际问题是什么。除非您将其作为 wiki 发布,否则标题与您在正文中提出的问题无关。

标签: php gif


【解决方案1】:

这段代码应该可以工作。我假设您正在遵循Convert JPG/GIF image to PNG in PHP? 的示例要将 gif 转换为静态 jif,您可以诚实地将使用当前代码创建的 png 文件重命名为 jif。所有现代网络浏览器和应用程序都将静态 jif 和 png 视为相同。

【讨论】:

    【解决方案2】:

    要获取动画 gif 的第一帧,您可以使用 imagecreatefromgif,而要保存为 gif,您可以使用 imagegif,所以它是:

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

    【讨论】:

    • 我仍然认为这是动画
    • @pedrumgolriz 根据手册:When reading animated GIF files into memory, only the first frame is returned in the image resource pointer.。你确定你看的不是缓存版本吗?
    • 我正在查看移动到 images 文件夹中的文件
    猜你喜欢
    • 1970-01-01
    • 2013-06-05
    • 2019-10-16
    • 2011-01-09
    • 2019-01-12
    • 2014-01-13
    • 2017-07-19
    • 2012-01-22
    • 2021-02-01
    相关资源
    最近更新 更多