Сегодня вы используете Photoshop для различных задач. Эти задачи могут быть простыми и случайными, но однажды они могут измениться. Однажды они могут стать более сложными и утомительными, гораздо более повторяющимися. Или это могут быть одни и те же простые задачи, в одном и том же порядке, много раз.

Например:

Сегодня — Простые и случайные задачи Photoshop:

  • Открыть изображение в Photoshop
  • Использование точечной восстанавливающей кисти
  • Применить настройку кривых
  • Применить настройку оттенка/насыщенности
  • Обрезать изображение
  • Изменить размер изображения
  • Экспорт

Один день — более сложный и утомительный, повторяющийся:

  • Открыть изображение в фотошопе
  • Дублировать слой 3 раза
  • Скрыть слой, выбрать предыдущий слой
  • Применить фильтр «Размытие по Гауссу»
  • Показать предыдущий слой
  • Используйте Применить изображение с загадочными параметрами, основанными на количестве бит вашего изображения на канал.
  • Изменить режим наложения слоя
  • Сгруппировать слои
  • Переименовать слои
  • Потратьте еще шесть часов, ретушируя поры кожи с помощью частотного разделения.

(Или) Один день — простые задачи, в одном и том же порядке, много раз:

  • Открыть изображение в фотошопе
  • Выделить все, скопировать
  • Откройте шаблон макета Photoshop
  • Выберите слой макета, отредактируйте содержимое смарт-объекта
  • Вставить, Свободное преобразование, По площади
  • Сохранить и закрыть смарт-объект
  • Экспорт и закрытие шаблона макета
  • Закрыть исходное изображение
  • Сделайте глубокий вдох, прежде чем повторить описанные выше шаги для остальных 100 изображений в этой папке.

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

Больше никаких утомительных задач в Photoshop. Большой.

Но тогда наступит другой день. Настанет день, когда ваше желание быть эффективным станет настолько сильным, а ваши идеи по автоматизации всего настолько продвинутыми, что экшены Photoshop больше не будут успевать за вами.

Ещё один день – Расширенная автоматизация:

  • Откройте изображение контактного листа в Photoshop
  • Предлагать пользователю ввести некоторые значения для описания количества строк и столбцов, размера ячейки, полей и интервалов контрольного листа
  • Определить точные координаты первой ячейки контактного листа
  • Создать новый текстовый элемент с определенным шрифтом и размером
  • Поместите текст точно под первой ячейкой, выровняв ее по центру
  • Вычислить положение центра следующей ячейки
  • Дублируйте новый текст, переместите его под следующую ячейку
  • Повторить для необходимого количества строк и столбцов

Вы сразу же поймете, что такая автоматизация не может быть достигнута с помощью записи действий, поскольку нет поддержки для запроса пользователем значений или выполнения каких-либо вычислений.

Вы удивитесь — это конец? Неужели нет никакого способа реализовать мои идеи? Я действительно должен положить им конец и принять реальность невозможности? Неужели Photoshop, программа, используемая миллионами, так ограничена? Действительно ли нет возможности для действия определить/установить/вычислить, является ли элемент вертикальным или горизонтальным, а затем предпринять соответствующие дальнейшие действия?

Затем вы выпьете еще кофе, опустошите два пакета чипсов, еще немного погуглите и придете к выводу, что возможно это возможно, используя какой-то странный код, который вы еще не можете понять.

r = new ActionReference ()
r.putEnumerated (stringIDToTypeID ("layer"), stringIDToTypeID ("ordinal"), stringIDToTypeID ("targetEnum"));
d = executeActionGet (r) .getObjectValue (stringIDToTypeID ("artboard")). getObjectValue (stringIDToTypeID ("artboardRect"))

То, что раньше казалось глубокой тьмой, теперь больше похоже на пурпур, с оттенками серого и тумана вокруг — проблеск надежды. На самом деле это всего лишь иллюзия, потому что эта глубокая тьма станет только темнее.

Окунитесь в мир сценариев Photoshop

Итак, теперь вы находитесь в другом дне. День, когда вы поняли, что единственный способ добиться желаемой автоматизации — это использовать скрипты Photoshop. Но что это такое? Как вы их используете? На каком языке они написаны? Где документация? С чего вы вообще начинаете?

Чтобы сэкономить ваше время, вот краткие ответы:

  • Сценарии Photoshop — это файлы, содержащие код на разных языках, которые позволяют создавать функциональные возможности и использовать функции Photoshop, недоступные для действий.
  • Вы используете их, главным образом, просматривая и выполняя отдельные файлы сценариев из Файл › Сценарии › Обзор… Photoshop или помещая файлы сценариев в определенную папку внутри папки установки Photoshop (в Windows это находится в папке C:\Program Files\Adobe\Adobe Photoshop 2022\Presets\Scripts), чтобы они стали доступны для выбора из Файл › Сценарии.
  • Вы также можете использовать их, записывая действие и просматривая сценарий, чтобы в следующий раз, когда вам нужно будет запустить сценарий, вы просто воспроизвели это действие (вместо того, чтобы каждый раз просматривать сценарий).
  • Скрипты могут быть написаны на трех языках: AppleScript (macOS), VBScript (Win) и JavaScript (macOS, Win). Чтобы ваш код работал как на macOS, так и на Windows, он должен быть написан на JavaScript. Это довольно круто, поскольку все уже знают JavaScript, верно? Возможно, но учитывая, что версия JS, поддерживаемая в Photoshop, — это ECMA Edition 3, датируемая 1999 годом, а сейчас мы находимся в версии/редакции 13 в 2022 году, это делает его немного менее крутым.
  • Документация закончилась на https://www.adobe.com/devnet/photoshop/scripting.html.
  • Хорошей отправной точкой является последний pdf-документ Photoshop Scripting Guide, доступный по ссылке выше, за которым следует последний pdf-файл Photoshop Javascript Reference или любой другой язык, на котором вы хотите кодировать.

Однако, если не найти (устаревшую) вводную статью о написании сценариев Photoshop, вам, вероятно, придется создать для себя лучшую картину всего, собрав кусочки ответов с форумов сообщества Adobe, вопросов и ответов на StackOverflow, иногда на GitHub. репозиторий, с которым вы можете столкнуться, или глубоко погрузившись в собственные существующие сценарии Photoshop в папке Scripts.

Если вы в конечном итоге загрузите файлы документации в формате PDF и погуглите «скрипты Photoshop переместите слой в точное положение на холсте», позвольте мне быть первым, кто поприветствует вас в кроличьей норе.

Во Части 2 этой статьи я расскажу о своем собственном опыте написания скриптов, некоторых примерах кода, а также о других головоломных странностях, с которыми вы обязательно столкнетесь на своем пути.

Продолжить чтение — Часть 2