Главная » Правописание слов » Как написать скрипт для фотошопа

Слово Как написать скрипт для фотошопа - однокоренные слова и морфемный разбор слова (приставка, корень, суффикс, окончание):


Морфемный разбор слова:

Однокоренные слова к слову:

Погружаемся в скриптинг
для Фотошопа

Писать скрипты для Фотошопа, зачастую, нудно и больно (привет многочисленным багам и индийским разработчикам). Но бывает увлекательно и полезно. А если вы знакомы с JavaScript, то и достаточно легко.

Подготовка

Вам понадобится программа Adobe ExtendScript Toolkit, ваш Фотошоп и немного усердия.

После установки запускаем ExtendScript Toolkit и в левом-верхнем углу меняем “ExtendScript Toolkit CC” из выпадающего меню на Фотошоп. Делаем это для того, что бы по нажатию зелёной стрелочки наш скрипт запускался в Фотошопе.

Не будем вникать в объектную модель Фотошопа и прочие сложные термины, про которые вы сможете прочитать в официальной документации (даже с картинками). Ссылки есть в конце поста.

Работа с активным слоем

Чаще всего мы хотим что-либо сделать с активным слоем. Для этого необходимо обратиться к Фотошопу ( app), затем к активному документу ( activeDocument) и, наконец, к нашему слою ( activeLayer).

У слоя есть свойства и методы (выполняемые действия), как и у остальных объектов (документов, каналов, текста, векторных шейпов, …).

Например, что бы узнать имя слоя — нужно обратиться к свойству name.

А что бы переименовать слой:

Скрыть или показать слой — свойство visible.

Подвигать содержимое слоя по холсту — метод translate.

А так же можно узнавать границы содержимого ( bounds), изменять прозрачность слоя ( opacity) и заливки ( fillOpacity), дублировать ( duplicate), масштабировать ( resize) и так далее.

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

Усложняем задачу

Допустим, у нас есть документ с текстовым слоем (в нём что-то написано).

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

После выполнения такого скрипта имя нашего слоя превратится в нечто подобное:

ArialMT, 14 pt, #000000

Или ничего не произойдёт, так как мы можем встретиться с нашим первым багом Фотошопа. ☺

Дело в том, что если создать новый текстовый слой и не изменять ему цвет, а оставить дефолтный чёрный (#000000), то по какой-то причине Фотошоп не может получить это значение. Подобный баг далеко не единственный, но, зачастую, они побеждаются довольно легко — при помощи javascript-конструкции “try…catch”. Данная синтаксическая конструкция пытается выполнить кусок кода прописанный в try, а если возникает ошибка — выполняет кусок кода из catch.

Итак, фиксим возможную ошибку с определением цвета:

Теперь наш код точно сработает.

Это уже что-то похожее на нужный результат, но мы пойдём дальше и добавим ещё немного магии.

Ниже финальная версия скрипта в которой я предлагаю вам разобраться самостоятельно.

В итоге, имя нашего слоя превратится в нечто похожее:

Arial Bold Italic 30px/40px #333000
или
PT Sans 18px #ff0000

Про запуск скриптов и назначение их на горячие клавиши повторять не буду. Лучше почитайте в статье Сергея Пехтерева.

Полезные материалы

P. S. Не обращайте внимание на даты материалов, так как возможность написания скриптов в Фотошопе появилась ещё в версии CS2 (2005 год) и с тех пор ничего не изменилось. Во всех версиях, с CS2 до сегодняшней, код работает одинаково.

Источник

Как создать свои собственные скрипты Photoshop

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

Действия — это отличное решение, но у них есть одно серьезное ограничение: они “глупы” и не могут сделать ничего более сложного, чем воспроизводить предписанные серии шагов.
К счастью, Adobe уже давно распознала эту проблему и добавила поддержку скриптов в Photoshop и большинство других своих инструментов. Скриптовый движок Photoshop позволяет писать в Applescript, VBScript или JavaScript и выполнять сложные операции, которые обычно требуют вмешательства человека.

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

Ваши скрипты могут делать все, что может Photoshop

Итак, каков пример того, что скрипт может сделать, а действие — нет? Возьмите самый простой пример включения и выключения видимости слоя. Действие может легко отключить видимость слоя (или включить его), но оно не может разумно переключать видимость. Скрипт может определить текущее состояние видимости данного слоя, а затем выполнить другую задачу в соответствии с этим состоянием.

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

Версии фотошопа

Если вы используете версию Photoshop более раннюю, чем CS5, руководство по созданию скриптов доступно в папке «Приложение»> «Photoshop»> «Скрипты». Если вы используете CS6, вы обнаружите, что он не установлен по умолчанию. Вам нужно скачать его здесь (https://www.adobe.com/devnet/photoshop/scripting.html?red=a). Вы также можете найти полные справочники скриптов в этой же ссылке.
Когда вы освоитесь со скриптами, вы сможете автоматизировать многие функции в Photoshop, будь то создание 1000 веб-изображений или автоматическое создание метаданных с вашими уведомлениями об авторских правах.

Действие или скрипт?

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

Сделайте свой собственный скрипт

Шаг 01

Вы можете создать свой скрипт в Textpad или Notepad. Вы найдете полное справочное руководство в каталоге установки Photoshop под названием «Руководство по написанию скриптов». Там же есть несколько примеров скриптов.
Использование JavaScript в качестве языка скриптов (Photoshop также поддерживает Visual Basic и AppleScript), эти языки обеспечат работу вашего скрипта на ПК и Mac. Для того, чтобы проиллюстрировать суть процесса, можно создать скрипт, который просто выводит сообщение.

Шаг 02

Введите следующий текст в ваш текстовый редактор:

var docRef = app.activeDocument; заменить на картинку
var dlg = new Window(‘dialog’, ‘My first script!’,[100,100,480,250]);
dlg.btnPnl = dlg.add(‘panel’, [25,15,365,125], ‘Hello world!’);
dlg.btnPnl.testBtn = dlg.btnPnl.add(‘button’, [15,30,305,50], ‘Finished’, );
dlg.btnPnl.testBtn.onClick = dobuild;
dlg.show();
function dobuild() <
alert(«Congratulations — it all worked!»);
dlg.close();
>

Сохраните документ как testscript.jsx, если вы используете Photoshop CS2, или testscript.js, если вы используете Photoshop CS3 и выше.

Шаг 03

В Photoshop откройте документ, над которым вы работаете. Выберите «Файл»> «Скрипты»> «Обзор» и найдите свой скрипт (или один из примеров скриптов, если вы еще не набрались смелости, чтобы создать свой собственный).

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

Установите скрипты фотошоп на основе событий

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

Источник

История одной одержимости, или как я писал календарный скрипт для Photoshop

В начале

Всё началось с идеи, схематично зарисованной на крошечном листке бумаги. Захотелось написать скрипт, который мог прямо в Photoshop создать календарь на заданный год. Изначально нужно было получить годовой календарик размером 6 на 2 месяцев. Однако в процессе разработки «хотелки» росли, и в итоге список желаемых настроек стал таким, чтобы пользователь мог задать:

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

Инструментарий

Итак, план есть, пришло время выбрать необходимые инструменты.

Язык. Photoshop поддерживает следующие скриптовые языки: AppleScript, VBScript и JavaScript. Думаю, тут всем понятно, что первый подходит для MacOS, второй – для Windows, третий – для обоих. Был выбран JS, так как некоторое время назад я изучил его основы, а разработка такого скрипта могла послужить таким образом хорошей практикой (и послужила, надо сказать).

Текстовый редактор. Первую сотню строк я написал в обычном «блокноте», но так долго продолжаться не могло. Я вспомнил про Sublime Text с его восхитительной для меня функцией множественного курсора, которая, к слову, спасала меня очень много раз в процессе работы.

Скриптовые инструменты от XBYTOR. На деле я использовал только один его инструмент, ActionToJavascript.jsx, но зато он был очень полезен. Этот скрипт работает так — на входе задается записанная операция в Photoshop (это наподобие макросов в MS Office, только закрытый формат), а на выходе получается файлик с расширением *.jsx, в котором прописана функция, выполняющая c помощью низкоуровневых команд всё то же самое, что и исходная операция.

Scripting Listener для Photoshop. Официальный плагин от Adobe. Выполняет, по сути, то же самое, что инструмент выше, но работает по несколько другому принципу — он следит за действиями пользователя в окне программы и записывает их в два текстовых файла на рабочем столе. Первый файл — это JavaScript, второй — VBS или AppleScript, в зависимости от ОС. И, да, он пишет всегда, его нужно удалять или выключать перед запуском программы, добавляя тильду (

) в начале имени плагина.

Adobe ExtendScript Toolkit. Этот инструмент, по сути, нативное решение для написания скриптов к программам Adobe, но я использовал его только в конце работы. С его помощью можно закрыть исходный код от посторонних. На выходе получается рабочий скрипт с нечитаемым содержимым.

Документация. Без неё написать что-то сложнее всплывающего окошка «Hello word!» будет довольно проблематично. В конце статьи вы можете найти некоторые ссылки.

Оптимизация

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

Ошибки

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

Ошибка с отрисовкой. Это совет для тех, кто пишет скрипты с интерфейсом пользователя и при отрисовке использует сложный перерасчёт размеров элементов (кнопок, например) — проверяйте работу своего скрипта в Windows и MacOS. У меня был случай, что в одном месте скрипт зависал в системе MacOS. Я долго искал причину и она крылась в следующем: расчёт размера одной из кнопок должен был подгоняться по отношению к другой в сторону увеличения, причём эта операция была загнана мною в цикл (согласен, спорное решение). На Windows на всех версиях Photoshop это отрабатывало отлично, так как подгоняемая кнопка всегда была меньше основной. Но на MacOS оказалось наоборот — основная кнопка была меньше подгоняемой на один-два пикселя, и скрипт уходил в бесконечный цикл. Сейчас я это поправил, и единственный вывод, который можно сделать — не используйте сомнительные решения при перерасчёте элементов интерфейса (ваш Кэп).

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

Поклонники творчества сэра Терри Пратчетта, возможно, обратили внимание на кнопку «Holi WIZZARD». Мне нравятся такие вещи, не знаю, является это пасхалкой или нет (кстати, о них ниже), я видел нечто подобное у одного антивируса – там сканер называется Luke Filewalker (Люк Скай Файлоуокер).

Ошибки внутренние. Редко, но встречаются ошибки, которые очень сложно объяснить. В моём случае такой проблемой оказалось задание размера ширины (а, возможно, и высоты) блочного текста. Поясню: в Photoshop есть два вида текста – Point Text (короткий) и Paragraph Text (блочный). Первый не имеет границ, в отличие от второго.

Так вот, у меня произошло следующее – я задал размер ширины этого блочного текста в 800 пикселей. На выходе у меня получилась ширина в 3333 пикселей. Я не поверил своим глазам и стал проверять код. Ошибки не было. Дело было вечером, и я грешил на уставшую голову, поэтому стал проверять с особой тщательностью с листочком в руках. Ошибка на глаза не попадалась.

Спустя полчаса, когда я уже отчаялся понять, что же происходит, на глаза попалась ссылка с аналогичной проблемой. Оказывается, что если разрешение документа больше 72 dpi, то Photoshop выставляет какое-то своё значение. Решается это так: берём разрешение нашего документа (у меня оно было равно 300), делим стандартное 72 на наше разрешение и полученный результат умножаем на нужную ширину блока текста. В итоге, чтобы получить блок в 800 пикселей для документа с 300 dpi, нужно задать размер в 800* 72 / 300 = 192 пикселя. Вот так всё просто.

Ошибка с неделями. Ещё один момент, в котором я сильно сглупил, оказался в вычислении номеров недель. По своему незнанию, я сделал нумерацию недель, исходя из абсолютной уверенности в том, что первая неделя начинается с первого января. Я был настолько в этом уверен, что даже не удосужился проверить заранее, а сразу приступил к реализации. Лишь когда я закончил, то решил проверить, а правильно ли начинать нумерацию с 1го января. Оказалось, что нет.

Наверняка многие (или все), кто читает эту статью, знают, что существует стандарт ISO 8601 для формата даты и времени. И согласно нему, неделя начинается с понедельника, а первой неделей является та, на которую выпадает первый четверг января. И первая неделя может начинаться вовсе не с 1го января, а, к примеру, со 2го или даже 4го (как в этом 2016 году). Так что эту часть кода тоже пришлось полностью переписывать.

Ошибка с… массивом? Вот тут уж я не знаю в чём было дело, однако решение оказалось интересным.

Вот код, который создаёт семь выпадающих меню с именами шрифтов:

При первой генерации окна всё проходило хорошо и без проблем. Но если пользователь загрузит сохранения, то окно будет закрыто и переоткрыто с новым значением fontIndex. При пересоздании окна с подгруженными настройками Фотошоп вылетал, если шрифт имел имя (в моём случае) Aarcover (Plain):001.001. Остальные шрифты проходили нормально, но вот этот давал сбой всей программе.

Казалось бы, и ладно, вероятность крайне мала (на самом деле нет), но меня это теребило очень сильно. Первое решение проблемы оказалось таким:

То есть, если перед этим циклом просто вызвать окно-предупреждение, в котором будут перечислены все элементы массива arrFonts (и это окошко получалось на весь экран и даже не было видно кнопки ОК), то окно скрипта сгенерируется нормально, как надо. Другие «алерты» с пустыми строками и бессвязным текстом не помогали, только с массивом шрифтов.

Спустя некоторое время появилось второе решение, которое работает, но я не понимаю, почему.

Получается, мы делаем копию «проблемного» массива методом slice, и используем эту копию вместо оригинала. Это сработало и используется теперь. Я буду рад увидеть в комментариях ответ, почему это так происходит и можно ли как-то это исправить.

Полезный перерыв

Где-то в начале декабря 2015 года я сделал паузу в написании скрипта. Но остановился я не потому, что устал или потерял интерес. Я отвлёкся от скрипта, чтобы написать другой скрипт. Не стану подробно останавливаться на этой вещи, скажу лишь то, что в процессе разработки этого скрипта я обнаружил, что создание текстового слоя с помощью низкоуровневых команд выполнялось на порядок быстрее, чем с помощью моей функции, использующей стандартные методы из руководства. Да, в новой функции было куда больше строк кода, чем в той функции, которую я написал изначально – и всё-таки она работала быстрее. Можно было бы догадаться и так, что низкий уровень наше всё, но в тот момент я основательно сглупил и проверил это лишь в середине.

Для большей наглядности приведу сравнительную табличку:

Время, затраченное на создание 600 текстовых слоёв, содержащих текст «01»
(НУ — низкоуровневое создание, СМ — создание стандартными методами)

Версия Photoshop Стационарный
компьютер (ттх)
Ноутбук (ттх)
CS5 НУ: 0 мин 47 сек
СМ: 3 мин 43 сек
НУ: 2 мин 28 сек
СМ: 9 мин 49 сек
CC 2015 НУ: 1 мин 18 сек
СМ: 10 мин 42 сек
НУ: 3 мин 12 сек
СМ: 42 мин 36 сек

Увидев такие показатели (обратите внимание на CS5 – обходит новый CC по скорости, шельмец) меня охватило чувство разочарования – ведь моя старая функция создания текста в «календарном» скрипте уже органично вписана в его структуру. И переделывать всё мне очень и очень не хотелось. Но, подумав, что ведь на самом деле всё не так плохо, просто нужно очень внимательно и осторожно подменить одну функцию другой. Затем протестировать, исправить все появившиеся недочёты и полностью перейти на новый способ. Тем более, что уменьшив время на создание календаря, я только выиграю.

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

Я смог удалить несколько строк без нарушения функционала. Чистил я до тех пор, пока это было легко: ищешь новый неповторяющийся дескриптор, смотришь, что он делает, удаляешь, проверяешь работу и, если всё работает без видимых изменений, продолжаешь так делать и дальше. Когда ошибки после каждого такого грубого хирургического вмешательства в тело функции стали возникать всё чаще, я остановился – лучшее враг хорошего. Затем нашёл, в каком месте задаётся шрифт, его размер и цвет, перевёл эти места в задаваемые переменные.

Полученная функция отлично отрабатывала, причём ей не нужно было указывать, где создавать новый текст – если активна какая-то группа, то текстовый слой создастся в ней. Если активен текстовый слой, находящийся в какой-то группе, то – правильно, новый слой будет в этой группе. Очень удобно и экономит время, замена проведена не зря. Вот код полученной функции.

И ещё кое-что добавлю. Я не уверен, но кажется не все низкоуровневые функции выполняются быстрее стандартных методов — однажды мне показалось, что перемещение слоя на заданное количество пикселов по X и Y выполнялось быстрее именно стандартным методом. Экспериментируйте.

Пасхальные яйца

Без этого нельзя ну никак. В скрипте есть несколько пасхалок, и некоторые из них видны только мне в исходном коде (например, одна функция называется fireStarter). Но есть те, которые я оставил для своих пользователей. Ниже спойлер, кому интересно.

3е сентября. Кнопка Simple Mode имеет иконку, изображающую (я старался, по крайней мере) отрывной календарь с этой датой.
«Нужно боольше золота!». Если несколько раз кликнуть по кнопке info, то — правильно, появляются некоторые фразы из Warcraft III вместо справки.
Морской бой. Не совсем он, на самом деле. Скорее, что-то по его мотивам. Если в одном из полей, где пользователь заводит интервалы между элементами месяца, ввести не цифру, а слово «egg», то будет предложено сыграть в морской бой. Игрок выбирает количество выстрелов, мины, авиаудары и идёт искать вражеские корабли. Если топит все корабли — выиграл, иначе — проиграл, всё просто.

Справочные материалы к скрипту

Честно скажу, для меня это был первый случай, где документацию я писал без фанатизма, но с удовольствием. Составил я её очень подробно, настолько, насколько умею это делать вообще. Скооперировавшись с подругой, получил отличный (IMHO) перевод руководства пользователя. Так же она помогла мне переводить элементы интерфейса, подсказки и многие другие вещи в скрипте, за что ей огромное спасибо.

Скрипт не выглядит интуитивно понятным в некоторых режимах, поэтому в качестве дополнения к документации сделал коротенькие видеоуроки. Всего их получилось около 10-12 штук, где я постарался максимально отобразить все возможности скрипта.

И для полного комплекта неплохо было бы иметь свой маленький форум для вопросов. Для этого я воспользовался сервисом «Google группы».

Плюсом, я добавил к скрипту директорию «Examples» с созданными календарями. Один из них перекидной с фотографиями моего города, сделанные лучшим другом — отдельная гордость.

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

Открытие магазинчика

«И разве мой талант, и мой душевный жар не заслужили скромный гонорар?»
Скрипт получился рабочим и многофункциональным, поэтому я решил, что он кому-нибудь окажется полезен. Я выбрал довольно популярную нынче площадку с умеренными процентами, выставил всё, что у меня есть, протрубил в некоторых местах о запуске и сразу пошёл спать — я очень сильно переживал по поводу запуска, поэтому о результатах решил узнать на свежую голову.

В конце

Весь этап разработки, от идеи до выхода в свет, уложился в период с середины октября 2015 года до 28 сентября 2016. Сезоны менялись — осень, зима, весна, лето, снова осень — а мои мысли были заняты этим проектом. Если вы захотите спросить меня — а стоило ли оно того, то отвечу однозначно — для меня стоило точно. Я получил идеальный для себя результат, многократно превзошедший оригинальную задумку — что может быть лучше?

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

А, из побочных эффектов — я стал постоянно обращать внимание на календари, оказавшиеся поблизости. Каждый раз я задаю себе вопрос — а мой скрипт так сможет? И теперь в большинстве случаев я отвечаю себе «Да». Бывают и ответы «нет», конечно, но это особые календари, где, к примеру, все числа закручены в спираль. Хотя, если написать скрипт… Впрочем, нет, не сейчас.

Код писался в свободное время, временами и по ночам, я был одержим этим проектом, спасибо жене за понимание.
И всем, кто осилил эту статью – вы славные ребята. Надеюсь, каждый из вас нашёл что-нибудь полезное здесь для себя.

P.S. Если кому понравился котяня, то он вот здесь (

Дополнительные материалы:

» Документация Adobe Photoshop — лично я использовал документацию к версии CS5 (для основного кода) и CS2 (там есть раздел по UI)
» Scripting Listener — плагин на Photoshop CC от Adobe для Windows и MacOS
» Adobe ExtendScript Toolkit — версии CS3-CS5 и версия СС

Источник

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

Какие вы еще знаете однокоренные слова к слову Как написать скрипт для фотошопа:



Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *