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

Решил ли мой ответ вашу проблему? Если да, то примите его как свой ответ, щелкнув пустую галочку / галочку рядом с подсчетом голосов. Если нет, скажите, что не сработало, чтобы я или кто-то еще мог вам помочь. Спасибо. meta.stackexchange.com/questions/5234/…

Mark Setchell 03.05.2018 16:52
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
232
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 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 ...

Другие вопросы по теме