用 png 包裹 gif

Wrap a gif with a png

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

convert src.png input.gif -gravity Center -composite des.gif;

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

编辑

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

你有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。