【问题标题】:Wrap a gif with a png用 png 包裹 gif
【发布时间】:2018-02-24 08:54:14
【问题描述】:

有两张图片,一张是gif,一张是png。现在我需要用 png 图像包装 gif 图像。我使用ImageMagick,我认为它可能对我有用。

convert src.png input.gif -gravity Center -composite des.gif;
  • 如您所见,当有一个黑色块时,输出是意外的。
  • des.gif 没有动画。

左边是des.gif 右边是input.gif

编辑

这是我的测试文件。 https://drive.google.com/drive/folders/0B-64AliLi9OnWVQyLWU3TElHNHM?usp=sharing

【问题讨论】:

  • 由于我们看不到您开始使用的图像,因此几乎无法提供帮助...
  • @MarkSetchell 我更新了我的问题。
  • 请发布 3 张单独的图片 - 正好是两张输入图片和一张输出图片。
  • 那里的图片好像上传不了。如您所见,右边是input.gif,我使用device frame 来包装它。
  • 如果没有您的两个输入图像,我们无法测试并找出问题所在。我们也知道您所说的“包装”是什么意思。你的意思是叠加到另一个上?一张图片有透明度吗?

标签: imagemagick gif animated-gif imagemagick-convert


【解决方案1】:

您有 77 帧。但是第一帧比其他帧要小得多。从 Imagemagick (6.9.9.13 Q16 Mac OSX Sierra),我可以看到这个

identify input.gif

input.gif[0] GIF 216x384 216x384+0+0 8-bit sRGB 256c 3.20786MiB 0.010u 0:00.009

input.gif[1] GIF 1080x1920 216x384+0+0 8-bit sRGB 64c 3.20786MiB 0.010u 0:00.009

...

input.gif[76] GIF 1080x1920 216x384+0+0 8-bit sRGB 64c 3.20786MiB 0.000u 0:00.000

除了第一帧之外的所有帧都接近纯绿色。只有第一个有一个圆圈。

不过,如果您修复了 input.gif,您可以使用以下命令合成它们,以便所有 gif 帧在背景 png 上进行动画处理:

convert image.png null: \( input.gif -coalesce \) -gravity Center -layers composite des.gif

请注意,合并后所有帧都变为 216x384。这使得覆盖框架太小了。这将使所有帧都变大以适合背景。但首先所有的都是绿色的。

convert image.png null: \( input.gif -coalesce -resize 1080x1920! \) -gravity Center -layers composite des.gif

http://www.imagemagick.org/Usage/anim_mods/#background 如果使用 Imagemagick 7,则将 convert 更改为 magick。

【讨论】:

  • magick image.png null: \( input.gif -coalesce -resize 1080x1920! \) -gravity Center -layers composite des.gif 对我不起作用,它继续运行但没有结果。
  • 调整 77 张图片需要很长时间。耐心点,我需要几分钟。它应该完成。您的 Imagemagick 的确切版本是什么。如果 IM 6 则使用 convert 代替 magick。如果 IM 7,那么你必须使用你写的魔法。如果图片与您写的和为我下载的不一样,您可能需要更改图片的名称。
  • 我很抱歉错误的测试文件,因为我在上传到谷歌设备之前调整了它们的大小。现在我再次上传。
  • 再次抱歉,我给问题添加了新链接。
  • 在-layers 复合后添加-layers 优化。对我来说,它导致了损坏的 gif,我已经在 Imagemagick Discourse Server Bugs Forum 上报告了它。但是试试:magick -limit area 0 image.png null: \( input.gif -coalesce \) -gravity Center -layers composite -layers optimize des.gif
猜你喜欢
  • 1970-01-01
  • 2014-07-30
  • 2012-06-27
  • 2014-05-03
  • 1970-01-01
  • 2013-03-09
  • 2012-12-21
  • 2016-02-23
  • 2014-02-12
相关资源
最近更新 更多