Экономьте время и силы, автоматизируя GIMP с помощью скриптов

Редактирование фотографий обычно включает много повторяющихся процессов, особенно когда вы работаете с большим альбомом изображений. Если вы хотите побаловаться сценариями, вы можете использовать GIMP для автоматизации некоторых из этих действий, чтобы сэкономить время и силы.

Сценарии с Python

в GIMP это не легко, но очень полезно, если вы готовы изучать веревки. Вот как можно начать с пары очень простых скриптов.

Создание скрипта Python

Прежде чем мы приступим к серьезной работе над нашим проектом, нам нужно заложить некоторые основы. Сначала откройте текстовый редактор, затем скопируйте и вставьте код ниже:

#!/usr/bin/python
from gimpfu import *
def first_plugin(timg, tdrawable):
print "Hello, world!"
register(
"hello_world",
"Presents a Hello, World! message",
"Presents a Hello, World! message",
"Brad Jones",
"Brad Jones",
"2017",
"/Image/Hello, World!",
"RGB*, GRAY*",
[],
[],
first_plugin)
main()

Вот краткое изложение того, что там происходит. Первые две строки инициализируют скрипт и дают нам доступ к некоторым полезным библиотекам. Часть кода, следующая def first_plugin содержит инструкции, которые мы даем GIMP. Информация, которая следует за словом регистр это все, что нужно знать GIMP о нашем плагине.

Это информация, которую мы должны предоставить GIMP для регистрации нашего скрипта:

  • Имя: название команды (например, hello_world)
  • Blurb: краткое описание команды (например, представляет сообщение Hello, World!)
  • Справка: отображаемое справочное сообщение (например, сообщение Hello, World!)
  • Автор: человек, который создал сценарий (например, Брэд Джонс)
  • Авторское право: правообладатель (например, Брэд Джонс)
  • Дата: дата создания сценария (например, 2017)
  • Метка: способ ссылки на скрипт в меню (например, / Image / Hello, World!)
  • Параметры: параметры, подключенные к плагину (например, [] — в данном случае нет)
  • Результаты: результаты из плагина (например, [] — в данном случае нет)
  • Функция: имя, используемое для ссылки на действие в нашем коде (например, first_plugin)

Наконец, нам нужно позвонить главный().

Сохраните ваш скрипт и выберите Все файлы от Сохранить как тип падать. Не забудьте включить расширение .py в ваше имя файла.

сохранить скрипт

Затем поместите этот файл в папку плагинов GIMP, которую можно найти в Windows по адресу Программные файлы > GIMP 2 > Lib > канитель > 2,0 (или же ~ \ Библиотека \ Поддержка приложений \ GIMP \ 2.8 \ scripts на Mac). Вам могут понадобиться права администратора

сделать это.

Инициализируйте GIMP и откройте Образ меню. Вы должны увидеть Привет, Мир! прямо там внизу.

привет привет мир

Теперь пришло время сделать наш скрипт немного более полезным.

Добавление некоторой функциональности

Теперь мы собираемся переписать наш сценарий так, чтобы он действительно делал что-то практичное. Снова откройте текстовый файл, скопируйте и вставьте следующий код:

#!/usr/bin/env python
from gimpfu import *
def test_script(customtext, font, size):
img = gimp.Image(1, 1, RGB)
layer = pdb.gimp_text_fontname(img, None, 0, 0, customtext, 10, True, size, PIXELS, font)
img.resize(layer.width, layer.height, 0, 0)
gimp.Display(img)
gimp.displays_flush()
register(
"python_test",
"TEST",
"TEST",
"Brad Jones",
"Brad Jones",
"2017",
"TEST",
"",
[
(PF_STRING, "customtext", "Text string", 'Scripting is handy!'),
(PF_FONT, "font", "Font", "Sans"),
(PF_SPINNER, "size", "Font size", 100, (1, 3000, 1)),
],
[],
test_script, menu="/File/Create")
main()

Это немного сложнее, чем наш Hello, World! сценарий, но он имеет очень похожую структуру. Сначала мы создаем изображение.

img = gimp.Image(1, 1, RGB)

Затем мы добавляем текст на основе параметров, предоставленных пользователем.

layer = pdb.gimp_text_fontname(img, None, 0, 0, customtext, 10, True, size, PIXELS, font)

Далее мы изменяем размер изображения в соответствии с размером текста.

img.resize(layer.width, layer.height, 0, 0)

Наконец, мы говорим GIMP отображать изображение на экране.

gimp.Display(img)
gimp.displays_flush()

Осталось только добавить регистрационную информацию, которая нужна GIMP, с добавлением некоторых настроек параметров, которые мы не включали ранее.

 [
(PF_STRING, "customtext", "Text string", 'Scripting is handy!'),
(PF_FONT, "font", "Font", "Sans"),
(PF_SPINNER, "size", "Font size", 100, (1, 3000, 1)),
],

Сохраните это так же, как мы сохранили Hello, World! сценария, переместите его в папку с плагинами и перезапустите GIMP. Голова к файл > Создайте > ТЕСТОВОЕ ЗАДАНИЕ попробовать наш плагин.

тестовый плагин gimp

Вы увидите окно, в котором вы можете установить различные параметры.

параметры теста gimp плагин

Нажмите Хорошо и вы создадите изображение, похожее на это.

тестовое изображение gimp плагин

Это демонстрирует, как вы можете использовать скрипты в GIMP для автоматизации процесса

состоящий из нескольких разных действий. Теперь давайте напишем скрипт, который вносит изменения в изображение, которое мы уже открыли.

Инвертирование слоя

Как только вы освоитесь со скриптами на Python

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

Для начала снова откройте текстовый редактор, затем скопируйте и вставьте следующий скрипт:

#!/usr/bin/env python
from gimpfu import *
def invert_current_layer(img, layer):
pdb.gimp_invert(layer)
register(
"python_fu_invert_current_layer",
"Invert layer",
"Invert colors in the current layer",
"Brad Jones",
"Brad Jones",
"2017",
"/Filters/Custom/Invert current layer",
"*",
[],
[],
invert_current_layer)
main()

Это следует из сценария, который мы создали ранее. Первые несколько строк кода заложили некоторые основы, а последние несколько строк заботятся о регистрации. Вот важный раздел:

def invert_current_layer(img, layer):
pdb.gimp_invert(layer)

Мы определяем наш процесс, сообщаем GIMP, на какие компоненты мы будем ссылаться, а затем используем pdb.gimp_invert поручить программе корректировать цвета. Сохраните файл в формате .py, добавьте его в папку с плагинами, затем откройте GIMP, чтобы убедиться, что он работает.

инвертировать текущий слой GIMP плагин

Перейдите к фильтры > изготовленный на заказ > Инвертировать текущий слой.

инвертировать процесс GIMP плагин

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

является то, что вы можете создать что-то, что полностью адаптировано для вас.

Следующие шаги в сценарии GIMP

Как только вы поймете основы скриптинга в GIMP, пришло время экспериментировать. Подумайте о том, какие процессы вы делаете много, и это было бы полезно для автоматизации

, Затем наступает сложная часть: выяснить, как использовать код для реализации этих идей.

К счастью, GIMP может предложить некоторую помощь. Перейдите к Справка> Браузер процедур и вы сможете получить доступ к списку всех процедур, которые вы можете использовать.

браузер процедур

Обозреватель процедур не только перечисляет сами процедуры, но и дает вам информацию о том, какие параметры вам нужно указать в своем коде.

Вы можете прокрутить весь список процедур или использовать панель поиска, чтобы сузить поле. Затем просто вставьте имя процедуры и параметры в ваш скрипт.

параметры

Эта информация будет неоценимой, когда вы работаете над своими сценариями. Начните с некоторых простых вещей, и, прежде чем вы это узнаете, вы сделаете несколько действительно полезных автоматизированных процессов!

Вам нужна помощь сценариев с GIMP? Или у вас есть совет, которым вы хотите поделиться с другими пользователями? В любом случае, почему бы не присоединиться к беседе в разделе комментариев ниже?

Кредиты изображений: Волкова Вера / Shutterstock

Ссылка на основную публикацию
Adblock
detector