【问题标题】:create GIF animation using Gmagick使用 Gmagick 创建 GIF 动画
【发布时间】:2012-06-25 13:15:58
【问题描述】:

我有一些 jpg 文件,我想用它们创建 gif 动画。我在 gmagick 中找不到有用的方法来解决这个问题。有人知道吗?

我需要一个简单的例子。 太棒了

【问题讨论】:

  • 好的,我猜你可以加载 jpeg 图像,对吧?所以唯一的问题是将帧彼此排列(多页图像)并保存为 gif。 IIRC 这对于 Imagemagick 是可能的,所以我想这对于 Graphicsmagick 也是可能的。到目前为止,您研究过众多功能中的哪一个?
  • 是的。我如何将 jpg 文件加载为帧,添加为帧和持续时间,还可以使用 PHP 脚本和 Gmagick 扩展创建无限循环或循环时间和标准创建 GIF 格式。

标签: php animation gif animated-gif gmagick


【解决方案1】:

关于如何从两个 PNG 文件创建 GIF 图片的 Gmagick 示例:

$first = new Gmagick("example.0.png");
$first->setImageformat("gif");
$first->setImageDelay(100);
$second = new Gmagick ("example.1.png");
$first->nextImage();
$first->addImage($second);
$first->previousImage();
$first->write('example.gif');

示例取自https://bugs.php.net/bug.php?id=59420

注意Gmagick 在内部跟踪您所在的图像,这就是为什么在添加第二个图像之前使用nextImage­Docs 以及为什么在将其写入磁盘之前使用previousImage­Docs

从这两张图片示例开始,然后将其更改为添加来自array 的图片和三张图片的版本。然后最后从 0 到 N 张图片的目录中读取array(例如glob)。玩得开心!

【讨论】:

    【解决方案2】:

    单独运行下一条命令就可以了

    在linux中打开command的终端并编写

    convert -delay 25 1.png  2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png -loop 0 animate.gif
    

    您可以使用 inkscape 创建图像并导出为 .png .jpg 或其他格式

    【讨论】:

      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-30
      • 2014-03-02
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 2021-11-29
      相关资源
      最近更新 更多