На главную
Назад | Содержание | Вперед

Пример полноценного плагина

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

Разовьем идею предыдущего фильтра. Наш фильтр тоже будет переворачивать картинку, но еще он будет уметь:

  • работать в режимах GrayScale, RGB, Gray16, RGB48,

  • разворачивать картинку горизонтально, вертикально и переворачивать вверх ногами,

  • обрабатывать изображения любого размера (простой плагин может загнуться от нехватки памяти),

  • выводить правильный диалог About.

Основные отличия в описании свойств:

// 'mode' поддерживаемые режимы изображения
   kPhotoshopSignature,
   PIImageModesProperty,
   0L,
   4L,
   supportsGrayScale | supportsRGBColor
   | supportsGray16 | supportsRGB48,

// 'enbl' когда плагин в меню будет доступен
   kPhotoshopSignature,
   PIEnableInfoProperty,
   0L,
   68L,
   "in (PSHOP_ImageMode, GrayScaleMode," \
   "RGBMode, Gray16Mode, RGB48Mode)\0",

PIFilterCaseInfoProperty. Для каждого из семи вариантов задаем такое описание: "\x01\x01\x07\x00". Первые два байта со значением 1 указывают на отсутствие преобразования данных редактором. flags1 со значением 6 указывает, что не нужно копировать данные до обработки (фильтр заполняет весь прямоугольник, хотя для надежности можно использовать значение 7), и нужно разрешить фильтру использовать пустые области, чтобы не писать дополнительный код, и фильтр не будет писать вне области filterRecord.

// 'fici' свойство фильтра
   kPhotoshopSignature,
   PIFilterCaseInfoProperty,
   0L,
   28L,
   "\x01\x01\x06\x00",
   "\x01\x01\x06\x00",
   "\x01\x01\x06\x00",
   "\x01\x01\x06\x00",
   "\x01\x01\x06\x00",
   "\x01\x01\x06\x00",
   "\x01\x01\x06\x00",

А окно параметров будет выглядеть так:

Перевернуть картинку: [Горизонтально] [Вертикально]

Думаю, что здесь не имеет смысла воспроизводить код фильтра. Проще скачать саму программу и разобраться в ней. Наш плагин компилируется в файл Flip2.8bf, а его исходные файлы можно скачать в архиве Flip2.rar.

Еще можно посмотреть пример автоконтраста AContrast.rar.

Назад | Содержание | Вперед


© Ярослав Музыкантов muzykantov@mail.ru
При использовании материалов обязательна ссылка на сайт
students.pm.vogu35.ru/pages/pm03/mya