如何在 ImageMagick 中为平铺叠加图像偏移/添加边距?

How to offset / add margin to tiled overlay image in ImageMagick?

我想将平铺叠加图像从背景图像的北侧垂直偏移 50 像素。

据我所知

composite <overlay> <background> -tile -geometry +0+50 -gravity North <tiled_image>

确实不行。因为当使用 -tile 选项时,它会忽略 -geometry-gravity 选项。这有点道理,但我想知道是否有任何方法可以达到预期的效果。

非常感谢

我可能想出更优雅的东西,但目前,我已经知道了。从黑色背景图像和红黄色渐变叠加图像开始:

# Make background
convert -size 1000x1000 xc:black background.jpg

# Make overlay
convert -size 80x80 gradient:red-yellow overlay.jpg

现在变魔术!

convert background.jpg                                \
   \( +clone -chop x50 -fill none -colorize 100%      \
      -tile overlay.jpg -draw "color 0,0 reset"  \)   \
   -gravity south -composite tile.jpg

基本上,我克隆括号内的图像并切掉前 50 个像素,然后我将 canvas 空白,平铺在它的顶部并将它重新合成到与原始图像对齐的顶部底部。 -fill none -colorize 100% 可能是不必要的,除非您的图块是部分透明的。