Плагин фильтра
Мы использовали плагин 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 он появится в верхней строке заголовка меню внутри меню под названием Плагин.
Запуск плагина
- Откройте изображение (для работы этого плагина фильтра требуется изображение).
- Откройте Инструменты > Отладка > Консоль сообщений, чтобы увидеть сообщение.
- Выберите Демонстрация подключаемого модуля простого фильтра в меню Плагин.
- Цвета одного из выбранных слоев будут инвертированы, и на консоли ошибок будет выведено сообщение.
Редактирование плагина
Вы можете настроить плагин, отредактировав его файл .scm. Например, чтобы изменить отображаемое сообщение:
- Откройте файл и найдите строку, определяющую
message. - Замените
"hello, world"своим собственным текстом. - Сохраните файл.
В 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")Устранение неполадок
Если плагин не отображается, проверьте его расположение, имя и свойство исполняемого файла.
Местоположение должно находиться в пути поиска подключаемого модуля. Имя файла должно совпадать с именем содержащей его папки. Файл должен быть установлен как исполняемый.
Консоль сообщений — ценный инструмент для устранения неполадок пользовательских плагинов. Если ваш плагин работает не так, как ожидалось, проверьте здесь сообщения об ошибках или журналы. Окно Терминал также может предоставлять отладочную информацию и сообщать о проблемах с загрузкой.