【问题标题】:How can I programmatically create APNG files?如何以编程方式创建 APNG 文件?
【发布时间】:2019-05-01 09:53:12
【问题描述】:

通常我使用 PHP 和 ImageMagick,但据我所知,ImageMagick 小组似乎拒绝实现创建/理解动画 PNG 文件的能力?

我可以使用哪些工具来获取十几个 JPEG 文件并从中创建动画 PNG?我更喜欢 PHP api,但如果需要,我可以分支到另一种语言!

谢谢

【问题讨论】:

  • 也许是这个? github.com/eight04/pyAPNG
  • 你为什么使用 APNG?它从未得到广泛的支持。 WebP 的吸引力更大。
  • AFAIK 你错了,APNG 实际上比 WebP 有更好的支持。 caniuse.com/#feat=apng caniuse.com/#feat=webp Crucially WebP 缺少 MacOS/iOS Safari 支持,这是巨大的,相比之下,APNG 缺少 IE11/Edge,这是我用户的一小部分(并且正在下降)。
  • Edge 现在支持 APNG。

标签: imagemagick apng


【解决方案1】:

As of ImageMagick 7.0.10-31,动画 PNG is supported

magick -delay 100 -loop 0 frame1.png frame2.png APNG:myanimation.png

参数:
-delay 100 指定在移动到下一帧之前每帧持续 100 厘秒(也就是一秒)。
-loop 0 告诉动画永远重复。
@987654326 @ 指定输出应该是动画 png。

(感谢@fmw42 的改进)

【讨论】:

  • 您的语法实际上并不正确。您将其正确指定为 magick -delay 100 -loop 0 frame1.png frame2.png APNG:myanimatedpng.png 请注意 APNG: 前言,它实际上是 png 的子函数。同样在 Imagemagick 7 中,使用魔法,而不是魔法转换。更改日志将其列为已添加 7.0.10.31
  • 谢谢你的这些。更新。在我自己的工作中,我意识到“apng:foo.png”更好,但忘了回来编辑我的答案。
  • 我确实已经为您的答案投了赞成票,因为您正确地指出 Imagemagick 可以做到这一点。
猜你喜欢
  • 2012-07-30
  • 1970-01-01
  • 1970-01-01
  • 2016-10-23
  • 2011-02-26
  • 2011-01-18
  • 2010-12-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多