2016-07-21 3 views
0

Я работаю с программой преобразования ImageMagick через командную строку. Я использую его, чтобы разбить изображение на 16x16 изображений. Это хорошо работает с командой урожая. Я делаю так:ImageMagick convert 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 
+0

Это прекрасно работает! Спасибо за решение и пример. – Arbel

Смежные вопросы