ImageMagick - 合并和居中多张图片

8

我想将多个不同尺寸的PNG文件合并成一张图像。

我希望每个“层”都居中显示。

这是我想要实现的效果:

.

一个简单的:

convert a.png b.png c.png -flatten combined.png

结果如下:

.

我通过手动指定偏移量('-page +X+Y')实现了所有内容的居中,但我想知道是否有自动实现这一点的方法。


除非 b.png 和 c.png 的高度和宽度与 a.png 相同,否则您必须指定 x 和 y。 - Justin Pearce
2个回答

8

您可以通过将b.png合成到a.png上,然后再在其上方放置c.png来避免使用临时文件,如下所示:

convert -gravity center a.png b.png -composite c.png -composite result.png

enter image description here


在我的情况下,透明背景在“合成”后变成了纯黑色。 - 林果皞
@林果皞,这可能是由于您的imagemagick版本无法正确处理透明度所致。我也遇到了同样的问题。 您可以通过以下方式检查您的imagemagick安装是否正确处理透明度: convert -size 100x100 xc:none transparent.png 顺便提一下:jpg图像无法处理透明度。 - juliokarl

6

这个方案更好,但因为临时图片的原因,仍然不是最好的解决方案:

composite -gravity center  b.png a.png temp.png \
&& \
composite -gravity center c.png temp.png composite.png

我不得不重新排列文件名(composite -gravity center b.png a.png temp.png && composite -gravity center c.png temp.png composite.png),但它起作用了,感谢您的想法! - Hamza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接