Есть так много способов попасть в кодирование. Некоторые люди занимаются программированием с детства, некоторые нашли путь в играх, дизайне блогов или учебных пособиях на YouTube. Я заинтересовался программированием через Photoshop.

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

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

Работа над созданием изображений в течение длительного времени обычно либо превращает вас в робота, либо пробуждает ваш творческий потенциал. Потому что, когда вы делаете одни и те же шаги с похожими изображениями снова и снова, вы, вероятно, начнете думать: может быть, мне не нужно делать эти скучные шаги? Что, если бы вы автоматизировали все клики, чтобы тратить больше времени на сложные части изображения, которые требуют натренированного человеческого глаза?

У нас уже была некоторая реализация javascript для экспорта изображений, но, вдохновленный другим направлением производства изображений в компании, я начал смотреть на наши изображения и рабочий процесс в фотошопе, а также на то, как мы храним наши изображения. С чем боролась наша команда, какие задачи были повторяющимися и скучными, а о чем часто забывали? Начиная с этого, я представил проект менеджеру отдела разработки, и через несколько месяцев и большой поддержки со стороны моего менеджера я, наконец, получил аутсорсинговую команду разработчиков, с которой можно было сотрудничать.

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

Это мои основные выводы по написанию сценариев для фотошопа.

  • Исследовательская работа! Документация, которую я могу найти для javascript для фотошопа, кажется, немного устарела, так как она была выпущена в 2013 году. Есть некоторые встроенные методы и функции, которые просто не будут работать для Photoshop, например, например .includes( ). Поэтому нужно будет написать некоторые функции или regEx, чтобы обойти это.
  • Разговаривая с ретушёрами при исследовании того, как должна работать логика, попросите их думать так, как если бы они не видели рабочее пространство изображения в Photoshop. Javascript может видеть имена файлов, размер документа, имена слоев, типы слоев, подсчитывать их и так далее, но он никогда не может увидеть, как выглядит ваше изображение. Он не может видеть, портрет это, пейзаж или есть ли у вашей модели серьги или нет. Если вы хотите, чтобы скрипт собирал такую ​​информацию, она должна быть каким-то образом в тексте.
  • Сколько бы вы ни писали свои файлы, в какой-то момент над ними будет работать человек. Поэтому хорошо иметь то, что я называю «называние людей доказательством». Как ретушер, вы будете создавать и называть слои, перемещать их и удалять. Поэтому, если для работы вашего скрипта требуются некоторые слои, группы или имена файлов, хорошо иметь имя, которое несколько указывает на то, что ретушер не должен переименовывать этот слой, или имя, которое ретушер может использовать на одном из слоев. их слоев.
    Теперь для разработчика кажется достаточно простым просто дать каждому необходимому слою свой длинный и сложный идентификатор. Ретушеры это не оценят. Нужно помнить, что мы пишем сценарии, чтобы облегчить работу ретушерам, а не сделать ее еще более запутанной. Так что моя практика заключалась в том, чтобы позволить пользователям называть свои слои и группы так, как им понятно, а затем добавлять подчеркивание перед именем тех, кто играет важную роль в сценарии, чтобы дать пользователю понять, что это не так. быть перепутанным с. Даже в этом случае ретушер может добавить «копировать», «2» или «редактировать», поэтому я также стараюсь писать свой код так, чтобы он мог это игнорировать. Пока первая (уникальная) часть имени совпадает, я ее принимаю.
  • Размещение в файле или присвоение имени для идентификации слоя? По сути, есть три вещи, которые javascript может сделать для идентификации слоя — где он находится, что это такое или как он называется. Так что ретушеры сами решают, что они могут сделать. Будет ли слой, который мы хотим использовать, всегда называться «Поднять средние тона», но его можно будет разместить в любом месте иерархии слоев? Или разные люди будут называть его по-разному, но он всегда будет вверху документа? Или это ни то, ни другое, но это единственный корректирующий слой кривой в наборе/группе слоев «Свет»?

  • Ах да, о наборах слоев! Найдите общий язык. Наборы слоев в Photoshop называются группами, Художественные слои — это слои и так далее. Вместе с ретушёрами определитесь со словарным запасом, который вы собираетесь использовать.
  • Если название и/или размещение не удается: диалоги. Потому что иногда вы просто не можете определить слой. Диалоговое окно может позволить ретушёру выбрать правильный слой из списка, мы можем переименовать или разместить его там, где мы ожидали, а затем продолжить.
  • Старайтесь не загонять себя в угол. Старайтесь писать свой код как можно более открытым и гибким, если ретушеры решат, что нет, этот слой больше не должен носить это имя или его следует разместить где-то в другом месте. При адаптации к изменениям убедитесь, что сценарии по-прежнему совместимы со старыми файлами и могут переименовывать или перемещать слои со старыми именами.
  • Автоматическое резервное копирование. В качестве небольшого угощения для ретушеров. Потому что все мы люди, и мы забываем сделать резервную копию в конце долгого дня.

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

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