使用ImageMagick,如何将一个图像切成多个独立的图像?

30
请看下面的例子:

图片描述

源图像由6个区域组成,需要将其切割成6个单独的图像。

我该如何使用Imagemagick获取所需的输出?我尝试理解Imagemagick示例中提出的可能解决方案,但未能将它转化为我的具体问题。

最好的解决方法是什么,最好只需要一行代码?由于我想要切割的所有区域都具有相同的大小,但只是偏移量不同,是否有一种方式可以传递预设的面积大小,然后仅为每个区域添加xy偏移量?


它们在偏移方面有什么不同?是任意放置的吗?还是从原点开始的网格?基本上,这些区域的偏移量如何相互关联? - sorpigal
这里放置了一个可以满足您需求的脚本: https://stackoverflow.com/questions/63774378/automatically-extract-tiles-from-comics/77201321#77201321 - undefined
1个回答

43
如果每个区域周围的填充量相同,您可以使用@运算符。这将把图像分成6个部分,每行2个,每个部分排除40像素的水平填充和20像素的垂直填充。
convert image.png -crop 2x3-40-20@ +repage +adjoin tile-%d.jpg

我可以从%d=1开始做这个吗? - theonlygusti
是的,请查看 fx expressionsfilename percent escapes --convert image.png -crop 2x3-40-20@ -set filename:index "%[fx:t+1]" +repage +adjoin tile-%[filename:index].jpg - 0eggxactly

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接