如何在 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%
可能是不必要的,除非您的图块是部分透明的。
我想将平铺叠加图像从背景图像的北侧垂直偏移 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%
可能是不必要的,除非您的图块是部分透明的。