首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在单个ImageMagick或转换命令中裁剪和合并3幅图像

在单个ImageMagick或转换命令中裁剪和合并3幅图像
EN

Stack Overflow用户
提问于 2017-08-16 18:19:03
回答 1查看 1.4K关注 0票数 0

希望从picture.jpg中裁剪出3个区域,并将这3个图像合并到一个单独的区域中。

是否可以将这3幅图像裁剪并合并到一个映像中或转换命令中?如果在一个命令中不可能,那么如何将这3幅图像合并成单独的命令呢?

我的目标是避免将时间图像保存在一个命令中。

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

代码语言:javascript
运行
复制
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
  • 我想要获得的输出图像的大小是1336x411像素。
  • 每个裁剪图像在最终输出图像中的位置如下: out1.jpg位于(x,y) = (509,0) out2.jpg中(x,y) = (0,64) out3.jpg位于(x,y) = (676,64)中

picture.jpg

output.jpg

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-16 19:52:16

使用IM的“转换”,您可以在原始图像中读取,然后在括号内多次使用"-clone“来处理输入图像的副本。在括号中,您可以以您想要的方式"-crop“每个副本,以及"-repage”它们,以便每个都包含完成的画布大小和位置信息。在此之后,您可以将原始输入"-delete“,"-flatten”三个剩余的图像放到一个画布上,并编写输出。

在Windows命令提示符下,该命令将如下所示。

代码语言:javascript
运行
复制
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系统上运行,则需要用反斜杠"\“替换那些连续的行插入符"^”,还需要用反斜杠"( . )“转义括号。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45720498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档