imagemagick:如何裁剪图片并将其粘贴到同一张图片的其他地方?

imagemagick: How to crop a picture and paste it elsewhere on the same picture?

我想要的:

使用 ImageMagick 我裁剪了图片的一部分,然后将其粘贴到同一张图片的其他地方。

例如:

我试过的:

convert in.jpg -page +0+300 \( -clone 0 -crop 650x600+0+300 \) -flatten out.jpg

结果:

问题:

裁剪从图像的(0,0)开始。我想不出使用偏移量的方法。

如何使用 ImageMagick 裁剪图片中间的部分并将其粘贴到同一图片的其他位置?

在 ImageMagick 中,您可以使用 -gravity 和 -geometry 以及 -composite 来做到这一点。

这里我为裁剪设置-gravity center,然后为合成设置-gravity northwest。我从中心裁剪一个区域并将其向右移动:

convert pic.jpg \
\( +clone -gravity center -crop 650x600+0+0 +repage \) \
-gravity northwest -geometry +1200+300 \
-compose over -composite result.jpg


这里我为裁剪设置了-gravity center,然后为composite设置了-gravity center。我从中心裁剪一个区域并将其向右移动。

convert pic.jpg \
\( +clone -gravity center -crop 650x600+0+0 +repage \) \
-gravity center -geometry +500-100 \
-compose over -composite result2.jpg