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

Posted

技术标签:

【中文标题】ImageMagick 使用格式化的文件名转换裁剪【英文标题】:ImageMagick convert crop with formatted filenames 【发布时间】:2016-07-21 02:55:50 【问题描述】:

我正在通过命令行使用 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】:

使用-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

【讨论】:

这很完美!感谢您的解决方案和示例。

以上是关于ImageMagick 使用格式化的文件名转换裁剪的主要内容,如果未能解决你的问题,请参考以下文章

如何使用imagemagick转换进行缩放和裁剪?

ImageMagick之图片裁剪详解

如何使用 ImageMagick 从文件夹中每个 JPG 图像的底部裁剪 486 像素?

命令行 ImageMagick 装订线和裁剪标记

ImageMagick的安装和使用案例

使用 imagemagick 将剪切/裁剪标记添加到 pdf