ImageMagick - 合并和居中处理多张图片

回答 2 浏览 7202 2011-10-14

我试图将多个不同尺寸的PNG文件附加到一个单一的组合图像中。

我希望个别的 "层 "能居中。

这就是我试图以图画的形式实现的目的。

.

一个简单的例子。

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

结果是:

.

...我能够通过手动指定偏移量('-page +X+Y')使所有东西居中,但我想知道是否有一种自动的方法来实现这一点。

Hamza 提问于2011-10-14
除非b.png和c.png的高度和宽度与a.png相同,那么你就必须指定x和y。Justin Pearce 2011-10-14
2 个回答
#1楼
得票数 7

你可以通过将b.png合成到a.png上,然后像这样将c.png合成到上面,来避免临时文件。

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

enter image description here

Mark Setchell 提问于2015-03-03
在我的例子中,透明的背景在composite后变成了纯黑色。林果皞 2021-02-25
@林果皞 这可能是你的imagemagick版本不能正确处理透明度的问题。我也有同样的问题。你可以通过以下方法检查你安装的imagemagick是否能正确处理透明度: convert -size 100x100 xc:none transparent.png 注:jpg图片不能处理透明度。juliokarl 2022-03-07
#2楼
得票数 6

更好,但仍然不是最好的解决方案,因为有临时性的图像。

composite -gravity center  b.png a.png temp.png \
&& \
composite -gravity center c.png temp.png composite.png
roslav 提问于2011-10-14
roslav 修改于2016-06-16
我不得不更改文件名(composite -gravity center b.png a.png temp.png && composite -gravity center c.png temp.png composite.png),但还是成功了,谢谢你的主意!"。Hamza 2011-10-14