2017-09-15 165 views
0

有两个图像,一个是gif,另一个是png.Now我需要用png图像包装gif图像。我使用ImageMagic,我认为它可能适用于我。用PNG包装一个gif

convert src.png input.gif -gravity Center -composite des.gif; 
  • 正如你看到的,输出的是意想不到的,而有一个黑块。
  • des.gif没有动画。

enter image description here

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

编辑

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

+0

由于我们无法看到您开始使用的图像,因此几乎不可能提供帮助... –

+0

@MarkSetchell我更新了我的问题。 – CoXier

+0

请张贴3张独立的照片 - 正好两张输入图像和一张输出图像。 –

回答

1

您有77帧。但是第一帧比其他所有帧小得多。从ImageMagick的(6.9.9.13 Q16的Mac OSX塞拉利昂),我可以从

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动画帧在背景上使用以下命令巴布亚新几内亚:

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 

查看是否使用ImageMagick 7 http://www.imagemagick.org/Usage/anim_mods/#background ,然后更改转换为magick。

+0

'magick image.png null:\(input.gif -coalesce-resize 1080x1920!\)-gravity Center -layers composite des.gif'对我不起作用,并且它保持运行并且没有结果。 – CoXier

+0

调整77张图像需要很长时间。耐心点,我需要几分钟。它应该完成。 Imagemagick的确切版本是什么?如果IM 6则使用转换代替magick。如果是IM 7,那么你必须使用你写的magick。如果您的图片不符合您的要求以及为我下载的内容,您可能需要更改图片的名称。 – fmw42

+0

我很抱歉错误的测试文件,因为我上传到谷歌设备之前调整它们。现在我再次上传。 – CoXier