Дополнительные модули в Adobe Photoshop. Разработка Plug-in - Курсовая работа

бесплатно 0
4.5 90
Редакторы для обработки изображения. Дополнительные модули, разрабатываемые для Adobe Photoshop. Структура плагина, порядок взаимодействия редактора и фильтрационного плагина. Работа с памятью и ресурсы плагина. Описание кода и основные свойства фильтра.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Дополнительный фильтр (plug-in) - это дополнительный модуль, который можно добавить в программу для расширения ее возможностей. Дополнительные фильтры можно условно разделить на две категории Выпуском дополнительных фильтров обычно занимаются сторонние разработчики, не работавшие над созданием программы Adobe Photoshop. Это понятно, ведь если сами разработчики знают, как дополнить программу более удобными инструментами, они просто включают их в нее, а не выпускают дополнения.Плагин (plug-in) представляет собой обычную dll библиотеку со специальным расширением. Специальные параметры, описываемые в ресурсах библиотеки, позволяют редактору распознать в библиотеке плагин и определить его свойства (тип, поддерживаемые режимы и т.п.). Все общение редактора с плагином происходит посредством вызовов экспортируемой плагином процедуры: procedure ENTRYPOINT(selector : smallint; Обратное общение плагина с Photoshop происходит с помощью вызова функций обратного вызова (callback-функций), предоставляемых редактором. Процедура с нулевым значением этого параметра вызывается для вывода диалога About плагина.При активизации фильтра из меню Filter, редактор несколько раз вызывает процедуру плагина с разными значениями параметра selector в определенной последовательности. Разберем значения этих вызовов в порядке возникновения. Если действие фильтра зависит от каких-нибудь параметров, значения которых нужно запросить у пользователя, то на этом этапе нужно вывести соответствующий диалог. Изначально этому полю редактор присваивает значение nil. Если плагин запускается из пункта меню Last Filter, то процедура со значением FILTERSELECTORPARAMETERS не вызывается, а происходит вызов сразу со значением selector = FILTERSELECTORPREPARE.Изначально Photoshop появился на Macintosh, а там было плохо реализовано использование файла подкачки операционной системой. Поэтому в Photoshop используется собственная система распределения памяти (даже в Windows). Во время вызова FILTERSELECTORPREPARE плагин должен заключить соглашения по использованию памяти с Photoshop. В противном случае редактору придется переместить все изображение на диск и использовать файл для перемещения данных в памяти.В первых версиях Photoshop использовались PIMI ресурсы. Они проще, чем сейчас используемые PIPL ресурсы. С помощью ресурсов Photoshop узнает, что библиотека является плагином. В ресурсах указывается тип, название, поддерживаемые режимы и другие необходимые редактору свойства плагина. Эти ресурсы конвертируются в обычные ресурсы с помощью утилиты Cnvtpipl.exe, поставляемой с SDK, а затем включаются в проект.PIVERSION Property int32 0x76657273L("vers") Версия плагинного интерфейса редактора, для которой написан плагин. PIIMAGEMODESPROPERTY FLAGSET 0x6d6f6465L("mode") Режимы изображения, которые поддерживает плагин (bitmap, grayscale, indexed, RGB, CMYK, HSL, HSB, multi-channel, duotone, Lab, gray 16 и RGB 48). Свойство определяет, когда плагин в меню редактора будет отображаться активным (черным) и неактивным (серым). PIENABLE INFOPROPERTY CSTRING 0x656e626CL("enbl") Строка в стиле modula, определяющая, когда плагин в меню будет доступен. PICATEGORY Property PSTRING 0x63617467L("catg") Подменю в меню Filter, в котором появится плагин.Описание кода указывает местонахождение исполняемого кода плагина.Слой содержит данные о цвете и прозрачности каждой точки. Фильтр может редактировать как цвет, так и прозрачность, например, при пространственных искажениях (spatial distortions). Отсутствует прозрачность и выделение. 2 FILTERCASEFLATIMAGE WITHSELECTION Нет прозрачности, но может быть выделение, которое будет представлено в виде маски. В этих случаях матирование вычисляется по следующей формуле: MATTEDVALUE = ((UNMATTEDVALUE * transparency) 128) / 255 ((MATCONSTANT * (255 - transparency)) 128) / 255 А дематирование вычисляется по формуле: UNMATTEDVALUE = ((MATTEDVALUE - MATCONSTANT) ./ transparency) MATCONSTANT Где операция ./ представляет собой деление 8-битного числа с фиксированной точкой и результатом в диапазоне от 0 до 255.Приведу пример "полноценного" плагина, на основе которого можно будет создавать свои плагины. Наш фильтр будет переворачивать картинку, но еще он будет уметь: · работать в режимах GRAYSCALE, RGB, Gray16, RGB48, · разворачивать картинку горизонтально, вертикально и переворачивать вверх ногами, · обрабатывать изображения любого размера (простой плагин может загнуться от нехватки памяти), · выводить правильный диалог About. Первые два байта со значением 1 указывают на отсутствие преобразования данных редактором. flags1 со значением 6 указывает, что не нужно копировать данные до обработки (фильтр заполняет весь прямоугольник, хотя для надежности можно использовать значение 7), и нужно разрешить фильтру использовать пустые области, чтобы не писать дополнительный код, и фильтр не будет писать вне области FILTERRECORD. KPHOTOSHOPSIGNATURE, PIFILTERCASEINFOPROPERTY, 0L, 28L, "\x01\x01\x06\

План
Содержание

Теоретическая часть

1.Введение.

2.Общая структура плагина.

3.Порядок взаимодействия редактора и фильтрационного плагина.

4.Работа с памятью.

5.Ресурсы плагина.

5.1 Основные свойства.

5.2 Описание кода.

5.3 Свойства фильтров.

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

7.Заключение.

Практическое задание в Turbo Pascal.

Движущийся квадрат.

Бегающий зеленый прямоугольник

Рисунок «Новый год»

Список используемой литературы.

Теоретическая часть

Введение
Дополнительный фильтр (plug-in) - это дополнительный модуль, который можно добавить в программу для расширения ее возможностей. Дополнительные фильтры можно условно разделить на две категории

¦ позволяющие добиваться результата, который невозможно получить при помощи стандартных средств;

¦ помогающие получить требуемый эффект быстрее, чем при использовании основного инструментария программы.

Выпуском дополнительных фильтров обычно занимаются сторонние разработчики, не работавшие над созданием программы Adobe Photoshop. Это понятно, ведь если сами разработчики знают, как дополнить программу более удобными инструментами, они просто включают их в нее, а не выпускают дополнения.

О популярности программы Adobe Photoshop можно судить по тому огромному количеству дополнительных модулей, которые для нее созданы. Дополнительные фильтры для Adobe Photoshop называют также расширениями (Extension).

Практически все редакторы для обработки изображения сегодня поддерживают дополнительные модули, разрабатываемые для Adobe Photoshop. Однако при этом следует иметь в виду, что не все дополнительные фильтры будут работать корректно в других программах, так как разработчики все же ориентируются на архитектуру Photoshop. Если вы планируете использовать какой-нибудь дополнительный модуль с другим графическим редактором, протестируйте его работоспособность, используя ознакомительную версию, или проверьте информацию о совместимости на сайте разработчика дополнительного модуля. Это поможет вам избежать разочарований при покупке фильтра.

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?