Используя imagemagick, как я могу разделить изображение на несколько отдельных изображений? - PullRequest
19 голосов
/ 09 марта 2012

Пожалуйста, рассмотрите следующий пример:

enter image description here

Исходное изображение состоит из 6 областей, которые необходимо разделить на 6 отдельных изображений.

Как получить желаемый результат с помощью imagemagick.Я попытался понять возможное решение, представленное в imagemagick examples , но не смог перенести его на мою конкретную проблему.

Каким был бы способ решения этой проблемы, желательно в одну строку?Поскольку все области, которые я хочу нарезать, имеют одинаковый размер, но отличаются только их смещением, есть ли способ каким-то образом передать заданный размер области, а затем просто добавить смещение xy для каждой области?

1 Ответ

27 голосов
/ 10 марта 2012

Если вокруг каждой области одинаковое количество отступов, вы можете использовать оператор @ .

Это позволяет разделить изображение на 6 частей, по 2 на строку, с 40 пикселями горизонтального отступа и 20 пикселями вертикального отступа, исключенными из каждого раздела:

convert image.png -crop 2x3-40-20@ +repage +adjoin tile-%d.jpg
...