MxLDevs Asked: 2020-12-29 20:38:00 +0800 CST2020-12-29 20:38:00 +0800 CST 2020-12-29 20:38:00 +0800 CST 裁剪图像的各个部分并将其组合成一张图像 772 假设我有以下图像,其中包含三个大小相同但字母不同的矩形 我想把它们组合起来,这样只有一个矩形,所有三个矩形都叠在一起 (忽略线条,它们只是为了视觉参考) 如何使用 imagemagick 的转换工具来做到这一点? 我已经阅读了文档中的示例,但我认为我需要做的是使用-crop给定的尺寸和偏移量来指定图像的一部分-geometry,然后使用-composite它来分层。 我不确定该命令的外观。 imagemagick image-processing 1 个回答 Voted Best Answer MxLDevs 2020-12-31T13:31:15+08:002020-12-31T13:31:15+08:00 这是我的解决方案。事实证明这很简单。我的图像是 800x600,由三个 800x200 的矩形组成,目标是提取每个矩形并将其相互叠加,最终形成一个 800x200 的图像。 首先,这是我用来创建一个空的 800x200 画布的命令,我将用它来叠加图像。请注意,这^只是 Windows 批处理文件的换行符。我认为对于 unix shell 脚本,它是反斜杠。 convert -size 800x200 xc:none ^ out.png 其次,我更新了添加分层的命令,它只是获取整个图像并将其分层到我的画布顶部 convert -size 800x200 xc:none ^ image.png -composite ^ out.png 第三,我希望能够裁剪图像的特定部分并将其叠加在我的画布上。我为此使用crop 命令,但也使用括号来执行嵌套操作。由于第二个矩形的偏移量(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
这是我的解决方案。事实证明这很简单。我的图像是 800x600,由三个 800x200 的矩形组成,目标是提取每个矩形并将其相互叠加,最终形成一个 800x200 的图像。
首先,这是我用来创建一个空的 800x200 画布的命令,我将用它来叠加图像。请注意,这
^
只是 Windows 批处理文件的换行符。我认为对于 unix shell 脚本,它是反斜杠。其次,我更新了添加分层的命令,它只是获取整个图像并将其分层到我的画布顶部
第三,我希望能够裁剪图像的特定部分并将其叠加在我的画布上。我为此使用crop 命令,但也使用括号来执行嵌套操作。由于第二个矩形的偏移量(0,200),这就是我裁剪出来的
现在我能够从一个图像裁剪和合成到另一个图像,现在我只需要对所有三个矩形执行裁剪和合成,这只是复制粘贴相同的线条并更新裁剪几何