Как я могу создать этот скрипт GIMP / ImageMagick?

Я использую GIMP для выполнения простой, но утомительной операции со многими изображениями, поэтому я хотел бы знать, как я могу создать сценарий, который сделает это за меня, или найти более простой способ сделать это.

Я импортирую файл изображения с большими размерами, но в основном квадратным, иногда вроде 550x564, 580x596 и т. Д., Который может быть jpg, bmp или png, и я хочу экспортировать файл PNG 192x192 с измененным размером и обрезкой на обоих концах. более длинный размер, который обычно вертикальный, но может быть горизонтальным.

Я выполняю следующие шаги для изображения, которое длиннее по вертикали, чем по горизонтали:

  1. Изображение-> Масштабировать изображение-> Установите для ширины значение 192 (заблокировано, поэтому высота будет автоматически установлена ​​примерно на 196).
  2. Нажмите Масштаб.
  3. Изображение-> Размер холста-> Установите для высоты значение 192
  4. Нажмите Центр.
  5. Нажмите Изменить размер.
  6. Файл-> Экспортировать как-> то же имя файла, но расширение изменено на .png, а изображение PNG выбрано из раскрывающегося списка (обычно исходные файлы - это jpg, но иногда это png, поэтому при необходимости перезаписать )
  7. Нажмите Экспорт (нажмите "Загрузить настройки по умолчанию").
  8. Снова нажмите Экспорт.

Как я могу сделать это в script-fu или python для GIMP? Или в ImageMagick? Или есть лучший способ сделать для этого макрос?


person Community    schedule 02.05.2018    source источник
comment
Решил ли мой ответ вашу проблему? Если да, то примите его в качестве своего ответа, щелкнув пустую галочку / галочку рядом с подсчетом голосов. Если нет, скажите, что не сработало, чтобы я или кто-то еще мог вам помочь. Спасибо. meta.stackexchange. ru / questions / 5234 /   -  person Mark Setchell    schedule 03.05.2018


Ответы (1)


Думаю, я тебя понял. Попробуйте выполнить это с помощью ImageMagick, чтобы преобразовать одно изображение:

convert input.jpg -gravity center -resize 192x192^ -extent 192x192 -set filename:base "%[basename]" "%[filename:base].png"

Вы также можете потенциально использовать возможности mogrify для создания всего каталога, полного изображений за один раз, но будьте очень осторожны и попробуйте его на КОПИИ ваших файлов где-нибудь вдали от вашей основной работы. На самом деле это будет проще, потому что вы можете позволить mogrify самим определять имена файлов, и вам не нужен цикл:

# Process all JPEGs in current directory
mogrify -format png -gravity center -resize 192x192^ -extent 192x192 *jpg

Если вы работаете в Windows, вам может потребоваться экранировать курсор (^), я не использую Windows, но я думаю, вам нужно будет либо добавить перед ним дополнительный курсор, либо, возможно, заключить весь параметр -resize в двойные кавычки:

mogrify ... -resize "192x192^" ...

Обратите внимание: если вы используете ImageMagick v7 +, mogrify ... становится magick mogrify ...

person Mark Setchell    schedule 02.05.2018