Автоматизируем работу по слоям в Photoshop с помощью JS

Как с помощью js и модуля actions автоматизировать работу по слоям

0 92

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

Я слышал, что в PS можно делать автоматизацию также с помощью js. Поэтому первым делом полез в гугл с одноименным запросом. Гугль привел меня к официальной документации, а также к некоторым англоязычным ресурсам. Но точного ответа на мой вопрос гугл не дал. Поэтому пришлось лезть в документацию.

Самым простым решением для меня было выбирать каждый слой и пременить через экшн записанный заранее.

Для тех кто не в курсе начну с записи экшн

  1. Открываем фотошоп и открываем в нем нужную нам гифку

Первый скрин

2. Обращаем внимание, что названия слоев отличаются только цифрой. Открываем панель «Actions». Если вдруг эта панель скрыта, то можете выбрать в меню Window->Actions, либо нажать Alt + F9.

3. Нам нужно записать экшн. Например мне нужно было удалить фон. Проще всего, в моем случае, это было сделать с помощью инструмента Magic Wand Tool (можно активировать клавишей W).

И так открываем панель «Actions», жмем на иконку листика (создать новый экшн), даем название и жмем Запись (Record).

Запись экшена

3. У меня предварительно выбран инструмент быстрого выделения, поэтому мой экшн состоит из трех действий: выбрать фон, удалить его и отменить выделение.

Запись экшена

4. Теперь нам нужно, что бы данный экшн применялся к каждому слою.

И так открываем наш любимый редактор и пишем, что то похожее на это:

Разберем по частям:

  1. Первой строкой мы говорим что этот файл для фотошопа )))
  2. Объявляем переменную doc и передаем ей объект документа.
  3. Переменной layerCount присваем значение — количество слоев.
  4. Запускаем цикл где для каждого слоя запускаем наш экшн.
  5. в методе doAction первый аргумент — это название вашего экшена, а второй это группа, в которой он лежит.
  6. После завершения выводит всплывающее окно, с ярким возгласом о готовности нашей затеи.

Теперь осталось только сохранить ваш файл и запустить открыв через меню Files->Scripts->Browse

Вот, в общем то и всё. Если у вас есть вопросы или считаете что я написал чушь, то оставляйте комментарии. Буду рад любой критике, чтобы знать как это делать по «фэн-шую».

Та самая документация — ссылка

Вам также могут понравиться Еще от автора

Оставьте ответ

Ваш электронный адрес не будет опубликован.