Как я могу сделать этот скрипт GIMP / ImageMagick? - PullRequest
0 голосов
/ 02 мая 2018

Я использую 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? Или есть лучший способ сделать макрос для этого?

1 Ответ

0 голосов
/ 02 мая 2018

Мне кажется, я вас понял. Попробуйте это с 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 ...

...