答案1
这是我的解决方案。结果发现它非常简单。我的图像是 800x600,由三个 800x200 的矩形组成,目标是提取每个矩形并将其层叠在一起,最终形成一个 800x200 的图像。
首先,这是我用来创建 800x200 的空白画布的命令,我将使用该命令在其上分层放置图像。请注意,这^
只是 Windows 批处理文件的换行符。我认为对于 Unix Shell 脚本来说,它是反斜杠。
convert -size 800x200 xc:none ^
out.png
其次,我更新命令以添加分层,它只是获取整个图像并将其分层到画布上
convert -size 800x200 xc:none ^
image.png -composite ^
out.png
第三,我希望能够裁剪图像的特定部分并将其叠加到画布上。我使用裁剪命令来实现这一点,但也使用括号来执行嵌套操作。由于第二个矩形的偏移量为 (0,200),所以我裁剪了它
convert -size 800x200 xc:none ^
( image.png -crop 800x200+0+200 ) -composite ^
out.png
现在我能够从一张图像裁剪并合成到另一张图像上,现在我只需要对所有三个矩形执行裁剪和合成,只需复制粘贴相同的线条并更新裁剪几何即可
convert -size 800x200 xc:none ^
( image.png -crop 800x200+0+0 ) -composite ^
( image.png -crop 800x200+0+200 ) -composite ^
( image.png -crop 800x200+0+400 ) -composite ^
out.png