ImageMagick使用格式化文件名转换裁剪

时间:2016-07-21 02:55:51

标签: imagemagick imagemagick-convert

我正在通过命令行使用ImageMagick转换程序。我用它将图像分成 16x16图像。这与crop命令很好地配合。我是这样做的:

convert.exe "C:\Users\Matt\Desktop\tiles\maps\shrine_source\shadow_light.png" -crop 16x16 "C:\Users\Matt\Desktop\tiles\maps\shadow_light_input\shadow_light_%02d.png"

问题是我想在从索引开始的下划线之后格式化部件。例如,从“shadow_light_2048.png”开始,依此类推。看一些例子,我认为可以使用像“shadow_light_%[2048-3071].png”这样的括号表示法来完成,但它似乎忽略了这一点。

有人可以帮我指出如何正确格式化文件名的正确方向吗?理想情况下,我只需要指定起始索引。

1 个答案:

答案 0 :(得分:1)

使用-scene选项设置场景编号,这是您使用%d时所放置的场景编号:

convert input.png -crop ... -scene 2048 result-%04d.png

因此,举例来说,让我们创建一个20x20的黑色图像,并将其切割成每个10x10的图块:

convert xc:black[20x20] -crop 10x10 -scene 2048 tile-%d.png

-rw-r--r--   1 mark  staff       301 21 Jul 09:18 tile-2051.png
-rw-r--r--   1 mark  staff       301 21 Jul 09:18 tile-2050.png
-rw-r--r--   1 mark  staff       301 21 Jul 09:18 tile-2049.png
-rw-r--r--   1 mark  staff       280 21 Jul 09:18 tile-2048.png