Upload
nicole-david
View
101
Download
0
Embed Size (px)
DESCRIPTION
Встраиваемые программные модули. Plug-in Modules. Встраиваемые модули ( plug-in modules ) - отдельны е программны е библиотеки, расширяющи е стандартную функциональность редактора. - PowerPoint PPT Presentation
Citation preview
Plug-in ModulesВстраиваемые модули (plug-in modules)
-отдельные программные библиотеки, расширяющие стандартную функциональность редактора.
Добавление новых и модификация имеющихся плагинов не требует внесения изменений в сам редактор. Это позволяет гибко наращивать его функциональность.
Плагин и точка входаPlug-in'ом может называться любое
приложение, для работы которого необходим другой программный пакет, называемый хост-приложением.
Модуль Adobe Photoshop в операционной системе Windows представляет собой динамически подсоединяемую библиотеку (dll), с определенным расширением, со специальным образом заданными ресурсами и определенной функцией – точкой входа.
Механизмы связи со хост-приложением, принятые в Adobe (1)
Согласно идеологии Adobe, все дополнительные модули, в зависимости от их типа, применяют разные механизмы связи со своим хост-приложением.
Некоторые из модулей , подобно сценариям скриптовых языков, просто используют вызовы DDE для управления объектами на основном рабочем поле.
Так, например, реализованы все Add-ons для Adobe PageMaker.
Механизмы связи со хост-приложением, принятые в Adobe (2)
Для Photoshop также существуют модули, построенные по таким принципам, но чаще всего вместо прямых вызовов DDE они обращаются к Action Engine и с его помощью управляют объектами и событиями внутри программы.
Другие же, являясь полноценными отдельными приложениями, нуждаются в хост-программах лишь как в источнике материала для обработки.
Механизмы связи со хост-приложением, принятые в Adobe (3)
Как правило, такие plug-ins легко подключаются к другим пакетам, использующим стандартный интерфейс обмена информацией, получивший название PICA (Plug-in Component Architecture).
Исходя из него любой модуль должен включать в себя заголовок PiPL (Plug-in Property List), в котором находится вся информация о модуле, необходимая хост-пакету для подключения.
Механизмы связи со хост-приложением, принятые в Adobe (4)
Тип модуля, а также группа и название определяются автоматически, при загрузке приложения. PiPL имеет достаточно сложную, расширяемую структуру.Он организован в виде списка свойств модуля.
Общие свойства всех типов модулейОбщими для всех типов модулей являются
несколько свойств, включая: PIKindProperty, задающее тип модуля; PIVersionProperty, задающее версию
модуля, SupportedModes, задающее какие модуль
поддерживает режимы изображения (image modes);
EnableInfo, задающее при каких условия пункт меню вызывающий модуль доступен пользователю (способ задания этого свойства подробно описан в документе Cross-Application Plug-in Development Resource Guide).
Все модули, используемые PhotoShop, подразделяются на восемь групп:
Color Picker (расширение .8BC) представляет собой палитру выбора цвета, которая вызывается всякий раз при нажатии на пиктограмму Foreground или Background color. В стандартной конфигурации доступны только два вида Color Picker – Photoshop и System (стандартная цветовая палитра ОС).
Классификация модулей, используемых PhotoShop
Следующие две группы – фильтры Import (расширение .8BA)
и Export (расширение .8BE). Обмен может происходить не только с файлами, но и с устройствами, как в случае с модулем TWAIN.
Классическими образцами являются модули открытия файлов Kodak PhotoCD и экспорта в формат GIF.
Import *.8BA &Export *.8BE
Plug-ins типа Extensions (расширение .8BX) встречаются еще реже, чем Color Picker. Главной причиной тому является отсуствие в SDK средств для их создания.
Формат plug-ins закрыт, и служат они внутренним целям Photoshop – инициализации устройств и др. Например, plug-in FastCore.8BX отвечает за использование команд MMX в работе программы.
Extensions *.8BX
Группы фильтров Format File (расширение .8BI) и Parser (расширение .8BY) расширяют список форматов файлов, которые может открывать Photoshop.
Format File обычно применяется для растровых изображений; все расширения, которые видны в окне Open- реализованы именно таким образом.
Format File *. 8BI
PhotoShop читает и некоторые векторные форматы, для чего использует модули-растеризаторы Parser.
К сожалению, список таких форматов пополняется очень медленно – спецификация Parser plug-ins не распространяется.
Parser *.8BY
Selection *.8BS & Automation * .8LI Selection plug-ins
(расширение .8BS) добавляют дополнительные функции в меню Select.
Модули для автоматизации – Automation (расширение .8LI)
Filter *.8BF (1)Filter (расширение .8BF). Группу можно
разделить на несколько категорий. Первая – фильтры корректирующие. К ним
относится модули, влияющая на цветовую гамму изображения (только без ее искажения!):- позволяющая убирать с него артефакты,- регулирующие яркость и контрастность изображения,- его резкость и пр.
Filter *.8BF (2)
Некоторые из них претендуют на комплексность – анализируют изображение и проводят ряд операций по его улучшению.
Яркий пример: Intellihance Pro 4.0 компании Extensis, который в соответствии с заданными установками (подготовка для печати, Web-страниц) выполняет корректировку файла.
Filter *.8BF (3)Другая категория – фильтры искажающие.
Сюда попадают практически все эффекты, которые серьезно изменяют внешний вид изображения или вносят в него свои элементы.
И третья категория – образующие. Модули, относящиеся к ней, совсем не используют исходное изображение, поэтому для их работы лучше создавать новый файл.
Примерами таких plug-ins могут служить многочисленные фильтры, созданные с помощью Filter Factory, – они образуют геометрические или фрактальные узоры с настраиваемой цветовой гаммой.
Инсталляция plug-insУстановка модулей не требует никаких
специальных знаний. Достаточно лишь помнить, что plug-ins различных групп имеют разное расширение файла.
Все модули размещаются в каталоге Photoshop в подкаталоге Plug-ins. Здесь несколько директорий, в которых находятся модули различного назначения.
Устанавливаемый plug-in следует положить в нужный каталог (тот, в котором лежат модули с соответствующим расширением) и перезагрузить Photoshop. После этого можно запустить установленный модуль из меню File > Automate.
Переход к формату Windows
Ресурсы плагинов задаются в формате Macintosh и переводятся в формат Windows с помощью утилиты CNVTPIPL.EXE, входящей в комплект Photoshop SDK.
Прототип функции – точки входа в плагин
Прототип функции - точки входа в плагин - задается следующим образом:
void ENTRYPOINT (short selector, void* pluginParam, long* pluginData, short* result); Фактически, это единственная функция,
посредством которой редактор "общается" с плагинами. Общение в обратную сторону осуществляется с помощью функций обратного вызова (callback-функций).