我正在寻找在 ImageMagick 中将多个图像拼接在一起的最有效方法,在背景图像之上,这样重叠图像之间的间距/填充是一致的?
我研究了 +append 的使用、转换 -composite 以及使用 -page 和 -layers 合并进行转换。
以下命令 (convert -composite) 有效,但需要预先计算图像尺寸以指定绝对偏移量。真的,我想要在第一个分层图像的结尾和第二个分层图像的开始之间有 10 像素的间隙,但我能看到的唯一方法是指定从画布左上角的绝对偏移量.
convert \
background.jpg \
first.jpg -gravity Northwest -geometry +10+10 -composite \
second.jpg -geometry +300+10 -composite \
third.jpg -geometry +590+10 -composite \
output.jpg
我正在寻找某种运算符,以便可以相对于分层中的“最后一个”图像解释水平偏移量,因此我可以指定一个偏移量,而不是指定+300+10
第二个图像和第三个图像。+590+10
+10+10
-gravity Northwest
我认为重力可以让我以与 CSS 定位相同的方式实现 ( ) float: left;
,但事实并非如此。
我在以下方面也取得了一些成功:
convert \
-page +10+10 first.jpg \
-page +300+10 second.jpg \
-page +590+10 third.jpg \
-background transparent \
-layers merge \
layered.png
convert background.jpg layered.png -gravity Center -composite output.jpg
所描述的两种技术都需要预先计算绝对偏移量,这有点麻烦。有一个更好的方法吗?