在 PHP 中读取动画 GIF
Posted
技术标签:
【中文标题】在 PHP 中读取动画 GIF【英文标题】:Reading animated GIF in PHP 【发布时间】:2012-02-20 05:28:46 【问题描述】:我需要 的各个帧。
我一直使用 GD 来处理图像,但不幸的是它缺乏处理 GIF 图像中的多个帧的能力。
我目前正在分割 GIF 文件格式以尝试制作我自己的提取器,但在我继续之前,我想知道是否有人对已经这样做的代码有任何指针 - 我可以'肯定不是第一个想用 php 处理动画的人。
【问题讨论】:
你检查过 ImageMagick 吗?我从未在 PHP 中使用过它,但它看起来可能能够完成您正在寻找的事情。查看example #5 on this page. 如果 PHP.net 的一半没有宕机就好了,最重要的是static.php.net
和 pecl.php.net
...
【参考方案1】:
是的。我认为 ImageMagick 扩展在您的情况下应该可以很好地工作。我以前在我的 PHP 代码中使用过它,虽然我以前没有使用过 GD,但 ImageMagick 已经足以满足我的次要图像处理需求。 =)
$agif = new Imagick("animated.gif");
// Loop over all individual frames
foreach ($agif as $frame)
// Do whatever you need to do here
// Save the modified gif
$agif->writeImages("new_animated.gif", true);
ImageMagick PHP 扩展提供的全套功能可以在http://php.net/manual/en/book.imagick.php找到
【讨论】:
我在 Windows 上运行 PHP,但我不知道如何添加 imagick。我知道 SO 并不是真正针对这类问题,但您知道如何让它在 Windows 上运行吗? 您需要先从此处 imagemagick.org/script/binary-releases.php#windows> 将 Windows 安装程序安装到您的系统上,但是 PHP 扩展的常规安装不适用于 Windows,所以恐怕我不能在那里分享很多经验。这个关于 SO 的问题可能会有所帮助。 ***.com/questions/3036847/…> =) 干杯!以上是关于在 PHP 中读取动画 GIF的主要内容,如果未能解决你的问题,请参考以下文章
PHP ImageMagick 在每一帧动画 Gif 中改变颜色