Плагин фильтра

Мы использовали плагин procedure для руководства Первый шаг. Эти типы плагинов работают без необходимости использования изображений или изображений в качестве входных данных. Обычно мы используем плагин для изменения изображения и его элементов рисования. Подобные плагины называются плагинами filter.

Что такое Drawable?

Рисуемый в Lumi относится к элементу изображения, на котором можно рисовать, например, к слою или каналу. Плагины фильтров обычно работают на этих элементах.

Пример простого плагина фильтра

#!/usr/bin/env lumi-scheme-interpreter-0.1

(define (scheme-simple-filter-plug-in image drawables)
  ;; Использовать let для определения переменной сообщения и основного кода
  (let ((message "hello, world"))
    ;; Показать сообщение в консоль ошибок Lumi
    (lumi-message message)
    ;; Инвертировать цвета первого выбранного drawable
    (lumi-drawable-invert (vector-ref drawables 0) 1)))

;; Регистрирует plug-in
(scheme-register-filter
  "scheme-simple-filter-plug-in"           ;; Имя основной процедуры
  "Simple Filter Plug-in Demo"             ;; Имя, как оно отображается в меню Lumi
  "Tests a basic Scheme filter plug-in"    ;; Описание подсказки
  "Author Name"                            ;; Не забудь указать себя в качестве автора
  "License"                                ;; Лицензия
  "Date written"                           ;; Дата написания
  "*"                                      ;; Указывает, что этому plug-in нужно изображение
  SF-ONE-OR-MORE-DRAWABLE)                 ;; Требует один или несколько выбранных drawable

;; Указать расположение в меню для plug-in
(scheme-menu-register
  "scheme-simple-filter-plug-in"
  "<Image>/Plug-in")

Скопируйте текст и сохраните его как simple-filter-plug-in.scm в папке simple-filter-plug-in в одной из папок плагинов Lumi. Папка плагинов Lumi — это любая папка, указанная в: Lumi > Редактировать > Настройки > Папки > Плагины

В Linux щелкните правой кнопкой мыши файл simple-filter-plug-in.scm, выберите Свойства > Разрешения и установите флажок Разрешить выполнение файла как программы. Как только файл окажется в нужном месте, станет исполняемым и не будет содержать синтаксических ошибок, при перезапуске Lumi он появится в верхней строке заголовка меню внутри меню под названием Плагин.

Запуск плагина

  1. Откройте изображение (для работы этого плагина фильтра требуется изображение).
  2. Откройте Инструменты > Отладка > Консоль сообщений, чтобы увидеть сообщение.
  3. Выберите Демонстрация подключаемого модуля простого фильтра в меню Плагин.
  4. Цвета одного из выбранных слоев будут инвертированы, и на консоли ошибок будет выведено сообщение.

Редактирование плагина

Вы можете настроить плагин, отредактировав его файл .scm. Например, чтобы изменить отображаемое сообщение:

  1. Откройте файл и найдите строку, определяющую message.
  2. Замените "hello, world" своим собственным текстом.
  3. Сохраните файл.

В Lumi версии 3 плагины не требуют обновления, чтобы сохраненные изменения вступили в силу. Просто перезапустите плагин, чтобы увидеть обновленное сообщение.

Плагин «Экспертиза»

Линия Шебанг

Первая строка гарантирует, что скрипт работает как плагин в Lumi 3:

#!/usr/bin/env lumi-scheme-interpreter-0.1

Определение процедуры

Процедура принимает два аргумента: активное изображение и выбранные объекты рисования.

(define (scheme-simple-filter-plug-in image drawables)

Основная логика

Оператор let определяет переменную и выполняет операции с объектом рисования.

(let ((message "hello, world"))
  (lumi-message message) ;; Отображает сообщение в консоль ошибок Lumi
  (lumi-drawable-invert (vector-ref drawables 0) 1)) ;; Инвертирует цвета первого выбранного drawable

Регистрация плагина

Плагин зарегистрирован в Lumi как плагин фильтра:

(scheme-register-filter
  "scheme-simple-filter-plug-in"           ;; Регистрирует основную процедуру
  "Simple Filter Plug-in Demo"             ;; Имя, как оно отображается в меню Lumi
  "Tests a basic Scheme filter plug-in"    ;; Описание подсказки
  "Author Name"                            ;; Имя автора
  "License"                                ;; Тип лицензии
  "Date written"                           ;; Дата написания
  "*"                                      ;; Указывает, что plug-in требует изображение
  SF-ONE-OR-MORE-DRAWABLE)                 ;; Требует один или несколько выбранных drawable

Меню Регистрация

Эта строка определяет расположение меню для плагина:

(scheme-menu-register
  "scheme-simple-filter-plug-in"
  "<Image>/Plug-in")

Устранение неполадок

Если плагин не отображается, проверьте его расположение, имя и свойство исполняемого файла.

Местоположение должно находиться в пути поиска подключаемого модуля. Имя файла должно совпадать с именем содержащей его папки. Файл должен быть установлен как исполняемый.

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