Добавить в корзинуПозвонить
Найти в Дзене

Скрипты в Photoshop 19. Изучение DOM Photoshop.

Изучение объектной модели Photoshop при помощи приложения Adobe ExtendScript Toolkit CC.

Изучение объектной модели Photoshop при помощи приложения Adobe ExtendScript Toolkit CC.

Открываем программу, выбираем приложение, с которым будем работать, в нашем примере это Adobe Photoshop CC2019:

-2

Photoshop должен быть запущен и в нем нужно создать или открыть любой поддерживаемый файл.

В среде Extendscript Toolkitможно запускать скрипты, отслеживать ошибки, делать отладку, вывод значений переменных и т.п., но мы рассмотрим режим Data Browser, найти его можно в меню – Window – Data Browser:

-3

Откроется окно с многочисленными свойствами данных, методов и функций Photoshop.

Типы данных, которые мы сможем изучать:

-4

Начинаем изучение с объекта Приложение – app

Для нас в первую очередь интересует ветка app=[Application Adobe Photoshop] – открываем объект приложение Photoshop:

-5

С этой ветки можно изучать свойства программы Photoshop.

Выберем переменную activeDocument = [Document Изучение Toolkit.psd] – в Photoshop открыт и активен документ с таким именем – “Изучение Toolkit.psd”. Чтобы воспользоваться в скрипте такой информацией, к примеру присвоить переменной это значение нужно написать скрипт:

var s=app. activeDocument
alert(s)
-6

При выполнении будет выведено значение объекта Document Изучение Toolkit.psd

Получим сведения о программе Photoshop:

Выберем переменную build

var s=app. build
alert(s)

Скрипт выведет полную информацию о версии сборки программы Photoshop

-7

Выберем метод openDialog()

Набираем скрипт app.openDialog() – запускаем на выполнение и откроется диалоговое окно выбора файла выбрав любой файл и нажав открыть в программе Photoshop ничего не откроется, этот метод нужен для работы с файлами – например напишем скрипт:

var f= app.openDialog()
alert(f)

Теперь после выбора файла мы получили переменную f содержащую объект-файл или список файлов, т.к. методом openDialog() можно выбрать несколько файлов.

Метод open()

var f=app.openDialog()
app.open(new File( f ))

этим скриптом загружаем выбранный в диалоге файл в Photoshop? Если были выбраны несколько файлов, то их переменные будут указываться следующим образом f[0], f[1], f[2] …

Метод doAction() – запуск операций (Action):

app.doAction("Имя операции","Имя набора операций") этот скрипт запустит экшн, записанный вами.

И так далее изучайте возможные методы, доступные переменные для считывания.

Как понять что писать в аргументах метода – читать документацию по Extendscript- https://www.adobe.com/devnet/photoshop/scripting.html

Также есть справка по основным функциям в самой программе Extendscript Toolkit CC – меню help – Object Model Viewer:

-8

В строке под Browser выбираем Adobe Photoshop XX Object Library, в строке поиска вводим интересующую нас функцию, например doAction (следите за регистром это важно) –

Получаем справку по данной функции, видим, что она имеет 2 аргумента имя операции и имя набора операций, обе переменных строковые, значит их значения надо писать в кавычках.

Вернемся к Data Browser, откроем объект app, в нем откроем объект activeDocument

В прошлый раз в скрипте мы писали

var s=app. activeDocument
alert(s)
-9

И результат был объект, теперь если зайти в объект activeDocument, то можно найти переменную name? Теперь можно получить имя файла:

var s=app. activeDocument.name
alert(s)
-10

Можно изучить текущий слой

Объект activeLayer

var L=app.activeDocument.activeLayer.name
alert(L)

Результат имя текущего слоя:

-11

Погружаемся дальше открываем объект app.activeDocument.activeLayer

-12

Видим множество методов, которые можно применять к слою, например размытие по Гауссу

Метод applyGaussianBlur()

app.activeDocument.activeLayer.applyGaussianBlur(10) – размытие по Гауссу текущего слоя с радиусом 10px.

Объект bounds содержит координаты верхнего левого и нижнего правого угла выбранного слоя с учетом примененных к слою стилей

var b= app.activeDocument.activeLayer.bounds
alert("координата Х верхего левого угла"+b[0] )
alert("координата Y верхего левого угла"+b[1] )
alert("координата Х нижнего правого угла"+b[2] )
alert("координата Y нижнего правого угла"+b[3] )

При присвоении переменной b значение объекта bounds, переменная получает 4 числа в виде массива.

Объект boundsNoEffect содержит координаты верхнего левого и нижнего правого угла выбранного слоя без учета примененных к слою стилей.

Переменная grouped – булевая переменная, определяющая входит ли слой в группу