想要从 picture.jpg 裁剪3个区域,并将这3个图像合并为一个。
是否可以在单个imagemagick或convert命令中裁剪和合并这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
最终输出图像中每个裁剪图像的位置为:
out1.jpg位于(x,y)=(509,0) out2.jpg位于(x,y)=(0,64) out3.jpg位于(x,y)=(676,64)
答案 0 :(得分:2)
使用IM的“转换”,您可以读取原始图像,然后在括号内“旋转”几次以处理输入图像的副本。在括号内,你可以按照你想要的方式“-crop”每个副本,并“-repage”它们,这样每个副本都包含完成的画布大小和位置信息。之后,您可以“删除”原始输入,将“剩余的三个图像”“平滑”到一个画布上,然后写入输出。
在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系统上运行,则需要使用反斜杠“\”替换那些连续的行符号“^”,并使用反斜杠“\(... \)”来转义括号。< / p>