imagemagick:-gravity SouthEast -geometry offset 不起作用

imagemagick: -gravity SouthEast -geometry offset did not work

替换图片的一部分时,

来自

我替换了图片的两部分。

我的解决方案是

convert 1.png \( 1.png -crop 200x200+300+800 +repage \) -gravity SouthWest -geometry +0+0 -compose Copy -composite 2.png

我得到了

convert 2.png \( 2.png -crop 350x450+1252+200 +repage \) -gravity SouthEast -geometry -350-450 -compose Copy -composite 4.png

我得到了相同的图像,我怎么了?

convert 2.png \( 2.png -crop 350x450+1252+200 +repage \) -gravity Center -geometry +626+349 -compose Copy -composite 3.png,明白了。

对机制不是很熟悉

使用 ImageMagick,代替:

convert 2.png ( 2.png -crop 350x450+1252+200 +repage ) -gravity SouthEast -geometry 0X0-350-450 -compose Copy -composite 4.png


使用:

convert 2.png \( +clone -crop 350x450+1252+200 +repage \) -gravity SouthEast -geometry -350-450 -compose over -composite 4.png


或者:

convert 2.png \( +clone -crop 350x450+1252+200 +repage \) -gravity center -geometry -350-450 -compose Copy -composite 4.png


这应该有所作为。不要将 WxH (0x0) 添加到您的 -geometry 中,因为这可能会尝试制作 W=0 和 H=0 图像,这将失败或不显示。参见 https://imagemagick.org/Usage/layers/#convert

+clone,只是复制命令行中的前一个图像,即2.png。重复 2.png 没问题,但速度会变慢,因为它必须再次读取 2.png 图像。

注意,最好不要用图片来展示代码。只需将代码粘贴到表单中并使用 {} 按钮使其以灰色背景显示。

convert 2.png \( +clone -crop 350x450+1252+200 +repage \) -gravity SouthEast -geometry +0+0 -compose over -composite 99.png

经过实验和发现