Как автоматизировать Photoshop с помощью скриптов Photoshop

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

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

Возможно, вы слышали о Действия Photoshop. Это простой способ автоматизации задач. Сегодня я покажу вам, как использовать Скрипты фотошопа. Сценарии Photoshop немного более эффективны, чем действия, и предоставляют вам возможность изменять поведение сценария во время выполнения — что-то, что действия не могут сделать!

Не беспокойтесь, если это звучит сложно: скрипты написаны на JavaScript

простой, но мощный язык.

Если вы являетесь поклонником GIMP или не хотите тратить деньги на Photoshop, ознакомьтесь с нашим руководством по автоматизации GIMP с помощью скриптов.

,

Ваш первый сценарий: изменение размера изображений

При написании сценариев вы можете использовать ExtendScript Toolkit. Вам не нужно это использовать, вы можете использовать любой текстовый редактор, который вам нравится (мне нравится Sublime Text), но использование этого инструментария дает множество преимуществ. Самое большое преимущество в том, что вы можете установить контрольные точки, что позволяет очень легко отлаживать ваш код и выявлять любые ошибки.

расширенный инструментарий

Набор инструментов ExtendScript входит в вашу подписку Creative Cloud, так что продолжайте и установите его с вашего Приложение Creative Cloud или веб-сайт выше.

Откройте инструментарий после установки. Вам будет представлен этот довольно устаревший интерфейс:

интерфейс инструментария extendscript

Вот код для вашего первого скрипта — скопируйте и вставьте его в главное окно кода слева:

current_document = app.activeDocument;
new_width = 670;
current_document.resizeImage(
UnitValue(new_width, 'px'),
null,
null,
ResampleMethod.BICUBIC
);

Давайте разберемся, что делает этот код. current_document Переменная хранит активный объект документа из Photoshop. Доступ к нему осуществляется с помощью app.activeDocument синтаксис. Если у вас не запущен Photoshop с открытым документом, этот код выдаст исключение. Исключением являются способы остановки выполнения кода — этот скрипт не может продолжаться, если нет документа!

new_width Переменная хранит ширину, которую вы хотели бы, чтобы ваш новый документ был.

Наконец, resizeImage Метод изменяет размер изображения. Это должно быть доступно через current_document переменная. Вам нужно передать новую ширину (преобразованную в пиксели через Стоимость единицы метод), а ResampleMethod из Bicubic.

Для вас доступно пять основных методов передискретизации. Все они различаются по скорости и качеству, поэтому поиграйте с ними (хотя Bicubic подходит для большинства целей). Вот краткое изложение различий:

  1. Ближайший сосед: Очень быстрый, но простой.
  2. Bilinear: Лучше, чем ближайший сосед, но медленнее и не так хорош, как Bicubic.
  3. Бикубическая: Очень хорошие результаты, но в вычислительном отношении дорого.
  4. Бикубическая гладкость: Улучшенная версия Bicubic для масштабирования (увеличения).
  5. Бикубический острее: Усовершенствованная версия Bicubic, предназначенная для понижающей дискретизации (делает ее меньше).

Не забывайте использовать их при использовании в своем коде.

Теперь, когда вы понимаете код, пришло время запустить его! Убедитесь, что у вас открыт Photoshop вместе с документом.

В верхней части набора инструментов ExtendScript измените цель выпадающее меню (вверху слева) от ExtendScript Toolkit CC в Adobe Photoshop CC 2017 (или какой бы ни была ваша конкретная версия Photoshop). Если вы пишете сценарии для других приложений Adobe, вы можете изменить их на эти.

целевой набор инструментов extendscript

Теперь нажмите Играть Кнопка справа от раскрывающегося списка целей, на В правом верхнем углу вашего кода.

кнопка воспроизведения инструментария extendscript

Если все работает правильно, размер вашего документа теперь изменен (не забудьте сохранить его). Консоль JavaScript в правом верхнем углу вашего инструментария будет отображаться вывод вашего скрипта. Как нет выхода, это скажет Результат: не определено.

Результат консоли javascript

Если возникла проблема (например, возникла исключительная ситуация), ваш код не запустится, и вы получите оранжевую полосу приблизительно в месте ее возникновения.

ошибки исполнения

Это может быть простая опечатка, поэтому после остановки скрипта (Верхнее правое управление > Кнопка Стоп), двойная проверка:

  • Ваш код верен и не содержит опечаток.
  • Фотошоп работает.
  • У вас есть документ, открытый в Photoshop.

Запуск скриптов

Теперь ваш код работает правильно, пришло время добавить его в Photoshop.

В вашем наборе инструментов перейдите к файл > Сохранить, и сохраните ваш сценарий в подходящем месте с подходящим именем. По умолчанию это будет Adobe Scripts папка. Обратите внимание, как сценарии должны заканчиваться в .JSX формат.

Внутри Photoshop, перейдите к файл > Сценарии > Диспетчер событий скрипта. Поставить галочку Включить события для запуска сценариев / действий.

менеджер сценариев событий

После включения этот интерфейс позволяет настраивать существующие сценарии для запуска при выполнении определенных действий. Есть несколько ключевых областей:

  1. Фотошоп Событие: Это когда скрипт будет запущен. Вы можете выбрать один из множества вариантов, таких как печать, открытие нового документа и многое другое.
  2. Автор сценария: Это скрипт для запуска. Есть несколько основных встроенных, но вы также можете назначить один из ваших собственных скриптов здесь.
  3. Действие: Если вы не используете сценарий, вы можете выбрать вместо него основное действие, например сохранить в PDF.

Выбрать скрипт, а затем выберите Просматривать. Выберите свой сценарий. Идите вперед и выберите событие, которое запустит ваш сценарий.

После настройки нажмите добавлять а потом Готово. В этом меню также можно редактировать или удалять любые ранее настроенные сценарии.

Если вы не хотите связывать свой сценарий с действием, его еще проще настроить. Идти к файл > Сценарии > Просматривать. Перейдите к вашему сценарию и нажмите «Открыть». Ваш скрипт сразу запустится.

Если вы хотите увидеть свой скрипт в этом меню скриптов, то вам нужно скопировать его в соответствующую папку. Это можно найти в Пресеты > Сценарии папка вашей установки Photoshop.

После копирования перезапустите Photoshop. После перезапуска ваш скрипт будет виден как пункт меню в файл > Сценарии Меню.

пункт меню скрипта

Изменить размер изображения: сделать его лучше

Теперь, когда у вас есть понимание скриптов Photoshop, пришло время улучшить код.

Этот код очень хорошо работает при изменении размера изображения 670px (или любой другой размер, на который вы его изменили), но это может быть лучше. К счастью, JavaScript — очень гибкий язык!

Давайте изменим код так, чтобы любые изображения, меньшие, чем новый размер, не были изменены. Вот код:

current_document = app.activeDocument;
new_width = 670;
if(current_document.width > new_width) {
current_document.resizeImage(
UnitValue(new_width, 'px'),
null,
null,
ResampleMethod.BICUBIC
);
}

Здесь есть только одно изменение. если Оператор обернут вокруг метода изменения размера. Если текущая ширина документа (доступ через current_document.width) меньше новой ширины, не меняйте размер.

Это гарантирует, что маленькие изображения не будут увеличены, что снизит качество.

Когда вы начинаете вводить код в инструментарии, он предлагает рекомендации для допустимых изменений, которые вы можете внести, методы для вызова или свойства для доступа. Это очень полезно, и вы должны в полной мере воспользоваться этим!

предложение кода инструментария

Вот одно последнее изменение:

current_document = app.activeDocument; // Get the active document
new_width = 670; // new width to ressize to
if(current_document.width > new_width) {
// if document is larger than new size
current_document.resizeImage(
UnitValue(new_width, 'px'),
null,
null,
ResampleMethod.BICUBICSHARPER
);
}
current_document.activeLayer.autoContrast(); // Apply contrast
current_doc.activeLayer.applySharpen(); // Apply Sharpen

Этот код теперь содержит комментарии, то, что должен иметь весь код

и который поможет вам в будущем.

Метод повторной выборки изменен на Бикубический Острый — это дает немного лучшие результаты при уменьшении масштаба изображений.

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

Что вы будете кодировать?

К настоящему времени вы должны знать все, что вам нужно для автоматизации чего-либо в Photoshop! Если вы можете сделать это в Photoshop, вы можете автоматизировать это. API Photoshop

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

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

Вы узнали что-нибудь новое сегодня? Какие твои любимые сценарии? Дайте нам знать в комментариях ниже!

Кредит изображения: whiteMocca через Shutterstock.com

Ссылка на основную публикацию
Adblock
detector