Чтобы превратить любое изображение в сетку квадратов с помощью ImageMagick, вам нужно заранее определить количество единиц.Такая команда будет начинаться с обрезки входного изображения до точного квадрата, а затем обрезки этого квадрата до сетки 3х3 из меньших квадратов ...
convert in.png -gravity center -extent 1:1 -crop 3x3@ out%02d.png
Это "-extent" обрезает ввод до наибольшеговозможно квадратное, поэтому, когда оно будет разрезано на сетку 3х3, готовые изображения также будут квадратными.Чтобы обрезать изображение в сетке 3x4, вы будете использовать команду, подобную этой ...
convert in.png -gravity center -extent 3:4 -crop 3x4@ out%02d.png
В этом примере «-extent» обрезает входное изображение до точного соотношения сторон 3: 4.поэтому, когда вы обрежете его на 3 части по 4 части, все они будут квадратными.
В обоих примерах будут получены выходные изображения с последовательно пронумерованными именами файлов, такими как "out01.png", "out02.png" и т. д.
Если вы хотите нумеровать выходные изображения в том порядке, в котором вам нужно их загрузить, вы, вероятно, захотите эту нумерацию в обратном порядке.Вы можете добавить «-reverse -scene 1» к команде непосредственно перед записью выходных данных, чтобы получить имена файлов этих обрезанных квадратов, пронумерованных в порядке, который вы будете использовать для загрузки.
Если вы используете IM7в этих командах измените «convert» на «magick».
Примечание. Синтаксис, позволяющий «-extent» использовать соотношение сторон, например «3: 4», доступен только с начала 2018 года.в более старых версиях ImageMagick может потребоваться вручную рассчитать эту первую обрезку, чтобы получить входное изображение с правильным соотношением сторон (... или использовать выражения FX для задания области просмотра и "-distort" для имитации обрезки).