Отредактировано, чтобы добавить этот пример ImageMagick 6, который разбивает входное изображение на 4 части, 25% оригинальной ширины и 100% его высоты, затем создает прозрачный холст для каждого куска с такими же размерами входного изображения и находитфрагменты с исходным смещением на этих полотнах.
convert input.png -set option:distort:viewport %[w]x%[h] -crop 25x100% \
-virtual-pixel none -distort affine "0,0 %[fx:s.page.x],%[fx:s.page.y]" out%03d.png
Имена выходных файлов будут нумероваться, начиная с нуля, например "out000.png" и т. д.
Исходное сообщение ...
Вот простая команда, использующая ImageMagick 7, которая может обрезать изображение в любое количество фрагментов и выводить все фрагменты с исходными смещениями на прозрачном фоне исходных входных размеров ...
magick input.png -crop 100x1@ -background none \
-extent "%[fx:s.page.width]x%[fx:s.page.height]-%[fx:s.page.x]-%[fx:s.page.y]" out%03d.png
То, что "-crop 100x1 @" говорит ему о том, чтобы разделить изображение на сетку шириной 100 штук и высотой 1 штука.Вы также можете указать размеры кадрирования в процентах или количестве пикселей.
Еще раз отредактируйте, чтобы добавить:
Эта следующая команда разделит входное изображение на отдельные части, указанные с помощью "-обрезать ", затем брить 5 пикселей с каждой стороны каждого куска, а затем применить прозрачную границу 5 пикселей для каждой стороны каждого куска.Он по-прежнему будет помнить исходное расположение фрагментов на входном холсте, поэтому «-distort affine ...» может расширить холсты и разместить фрагменты там, где они были на входном изображении.
convert input.png -set option:distort:viewport %[w]x%[h] \
-bordercolor none -background none -virtual-pixel none \
-crop 25x100% -shave 5x5 -border 5x5 \
-distort affine "0,0 %[fx:s.page.x],%[fx:s.page.y]" out%03d.png
Чтобы использовать эту команду с IM7, вам нужно изменить «конвертировать» на «магию».