Разработка плагина для photoshop cs5
Post on 12-Jan-2016
47 Views
Preview:
DESCRIPTION
TRANSCRIPT
Разработка плагина для Photoshop CS5
Необходимые инструменты
• Visual Studio 2008
• PhotoShop CS5
• PhotoShop CS5 SDK
http://www.adobe.com/devnet/photoshop/sdk.html
Точка входа в плагин
DLLExport MACPASCAL void PluginMain(const int16 selector,
FilterRecordPtr filterRecord,
intptr_t * data,
int16 * result)
Здесь
• selector – операция, которую должен выполнить плагин
• filterRecord – структура, используемая для обмена информацией между плагином и PhotoshopВ ней определены:
1) Размеры обрабатываемого изображения2) Разрешение изображения3) Размеры изображения4) Используемые цвета5) Другая информация
Описание параметров(продолжение)
• data – ссылка на область памяти используемая плагином, представляет собой ссылку на область памяти где хранится изображение
• result – результат выполнения, возвращается код ошибки в случае возникновения
Описание параметров(окончание)
Структура плагина (1)
Порядок взаимодействия плагина:
• filterSelectorParameters – задание параметров по умолчанию
• filterSelectorPrepare – выделение необходимой памяти
• filterSelectorStart – проверка параметров, вызов диалога и подготовка к обработке изображения
• filterSelectorContinue – обработка всех необходимых областей изображения.
• filterSelectorFinish – отработка действий при закрытии плагина.
• filterSelectorAbout – вызов окна с описанием плагина
Структура плагина (2)
Обработка документа производится попиксельно
Алгоритм применяется к каждому
пикселю в отдельности
В рассмотренном мной плагине Dissolve,
пиксели закрашиваются в определенный
цвет на основе массива-маски.
Каждая ячейка массива имеет булевский тип, то есть закрашивается пиксель или нет.
Особенности работы алгоритма
Эта функция строит массив, на основании случайного числа от 0 до 100.Идет проверка входит ли случайное число в диапазон и в зависимости от этогоЗаписывает 0 или 1
Эта маска используется в функции DissolveRectangle
Ресурсы плагина
В плагинах используютя файлы ресурсов, в которых хранится информация о плагине, его свойствах и другая информация
PIPL ресурсы• resource 'PiPL' ( 16000, "Dissolve", purgeable )• {• {• Kind { Filter },• Name { plugInName "..." },• Category { vendorName },• Version { (latestFilterVersion << 16 ) | latestFilterSubVersion },• #ifdef __PIMac__• #if (defined(__i386__))• CodeMacIntel32 { "PluginMain" },• #endif• #if (defined(__x86_64__))• CodeMacIntel64 { "PluginMain" },• #endif• #else• #if defined(_WIN64)• CodeWin64X86 { "PluginMain" },• #else• CodeWin32X86 { "PluginMain" },• #endif• #endif
• SupportedModes• {• noBitmap, doesSupportGrayScale,• noIndexedColor, doesSupportRGBColor,• doesSupportCMYKColor, doesSupportHSLColor,• doesSupportHSBColor, doesSupportMultichannel,• doesSupportDuotone, doesSupportLABColor• },
1) Название плагина
2) Разработчик плагина
3) Название плагина во вкладке меню и к кокой группе он будет относится
4) Поддерживаемые форматы
PIPL-ресурсы хранят информацию о плагине:
Файлы ресурсов пишутся в формате, в котором они используются в Mac OS
Для того, чтобы они работали в Windows
Используется специальная программа Cnvtpipl.exe, она преобразовывает в формат ресурсов Windows.
Формат ресурсных файлов
top related