【问题标题】:How can I efficiently create a PNG image from a GIF (First Frame Only)?如何有效地从 GIF(仅限第一帧)创建 PNG 图像?
【发布时间】:2015-01-26 14:35:48
【问题描述】:

我尝试了以下方法,但处理时间太长:

imagepng(imagecreatefromstring(file_get_contents($input)), $output);

$input 是一个动画 GIF。

知道如何在 PHP 中快速将大型动画 GIF 转换为静态 PNG 吗?我只需要将 GIF 图像的第一帧快速转换为 PNG。

【问题讨论】:

    标签: php image image-processing imagemagick-convert


    【解决方案1】:

    只需使用imagecreatefromgif:

    imagepng(imagecreatefromgif($input), $output);
    

    http://php.net/manual/en/function.imagecreatefromgif.php

    【讨论】:

    • 嗯,这可能是你能做到的最有效的方法。该 PHP 类不适用于大型图像文件。无论类型如何,PHP 本身都不应该与大文件一起使用。我目前无法测试代码(也无法在我回答时),但如果使用较小的图像文件,我保证它会显着提高效率。
    • @BunkBedNoob 我是唯一一个回答你的人,你甚至可以自己找到一种更有效的方法(我只是使用谷歌并找到了 imagecreatefromgif)。你要求一种有效的做某事的方法,你得到了一个。你没有地方抱怨它不够好。
    • @BunkBedNoob 顺便说一下,您使用的是 GD,而不是 ImageMagick。
    • 是的,我知道它是 GD。我的意思是我使用的当前解决方案的工作速度与您的解决方案相同。我会尝试 ImageMagick 看看它是否会提高速度并更新答案,如果是真的......
    猜你喜欢
    • 2020-07-25
    • 2019-10-20
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    相关资源
    最近更新 更多