在单个 ImageMagick 或 Convert 命令中裁剪和合并 3 个图像

Crop and merge 3 images in single ImageMagick or Convert command

想要从 picture.jpg 裁剪 3 个区域并将这 3 个图像合并为一个。

是否可以在单个 imagemagick 或转换命令中裁剪和合并这 3 张图像? 如果在单个命令中不可行,如何将 3 个图像合并到单独的命令中?

我的目标是避免在单个命令中保存临时图像。

我使用以下命令获取每个区域。

convert picture.jpg -crop 212x32+717+190 -resize 318x48! out1.jpg
convert picture.jpg -crop 440x231+20+251 -resize 660x347! out2.jpg
convert picture.jpg -crop 440x231+490+251 -resize 660x347! out3.jpg

picture.jpg

output.jpg

使用 IM 的 "convert" 您可以读取原始图像,然后在括号内“-clone”它几次以处理输入图像的副本。在括号内,您可以按您想要的方式“-crop”每个副本,并“-repage”它们以便每个包含完成的 canvas 大小和位置信息。之后,您可以“-delete”原始输入,“-flatten”剩余的三个图像到一个 canvas,然后写入输出。

命令在 Windows 命令提示符下看起来像这样。

convert input.jpg ^
   ( -clone 0 -crop 212x32+717+190 -resize 318x48! -repage 1336x411+509+0 ) ^
   ( -clone 0 -crop 440x231+20+251 -resize 660x347! -repage 1336x411+0+64 ) ^
   ( -clone 0 -crop 440x231+490+251 -resize 660x347! -repage 1336x411+676+64 ) ^
   -delete 0 -flatten output.png

如果您 运行 在 *nix 系统上,您需要用反斜杠“\”替换那些连续的插入符“^”,并用反斜杠“\( .. . \)".