Как открыть скрипт в фотошопе
Как записать действия в фотошопе в скрипт
Программа фотошоп обладает рядом возможностей по записи и запоминанию ваших действий в программе. Сюда можно отнести: запись действий в текстовый файл, создание экшенов и запись действий в скрипт. В этой статье речь пойдет о скриптах.
Скрипты — это автоматизация действий по средствам написания кода на языке программирование JavaScript или Visual Basic. Если вы обладаете такими познаниями, то возможности фотошопа можно сильно расширить.
Перейдем к примеру. В интернете в свободном доступе есть скрипт по автоматическому добавлении даты. Скачав и установив его, в меню фотошопа Файл — Сценарии появится новая команда Добавить дату . Если ее применить, то на фотографии появится дата создания файла.
Но как быть, если вы наоборот не обладаете знаниями в программировании? Есть решение — плагин который в фоновом режиме записывает все ваши действия в программе, а затем их воспроизводит. Звучит классно, но здесь есть минус — этот скрипт понимает не все действия в фотошопе, поэтому для некоторых ваших задумок придется искать другие методы.
Но как бы то ни было, сейчас я вас научу как это делать.
Шаг 1
Скачиваем плагин для записи действий в фотошоп — ScriptListener.8li.
Шаг 2
Его нужно будет скопировать в системную папку программы: C:\Program Files\Adobe\Adobe Photoshop CS5\Plug-ins; для более ранних версий программы C:\Program Files\Adobe\Adobe Photoshop\Scripting\Utilities.
Шаг 3
Если в этот момент фотошоп был открыт — перезапустите его.
Шаг 4
Сделайте любое действие в программе, затем сверните ее. На рабочем столе автоматические появятся два файла: ScriptingListenerJS.log и ScriptingListenerVB.log. В этих двух файлах идет запись действий как раз на двух разных языках JavaScript и Visual Basic соответственно.
Шаг 5
Выбираете язык, что вам более понятен. В моем случае это JavaScript.
Шаг 6
Прежде чем начать, откройте файл через блокнот и удалите из него все записи, а затем сохраните.
Шаг 7
Делайте в фотошопе то, что хотите впоследствии автоматизировать.
Например. Создаем новый текстовый слой, добавляем ему цвет и тень, а затем разместим в нужном месте на изображении.
Шаг 8
Когда все сделано, сверните фотошоп и откройте файл в блокноте. Вы обнаружите длинный код. Этот код нужно прtоброзовать в скрипт. Для этого выберите в блокноте команду Сохранить как, придумайте имя (на английской раскладке) и поставьте после имени расширение файла .jsx
Шаг 9
Установим новосозданный скрипт в фотошоп. Откройте системную папку C:\Program Files\Adobe\Adobe Photoshop CS5\Presets\Scripts и скопируйте в нее файл. Перезапустите фотошоп.
Шаг 10
Теперь ваше действие должно будет отображаться в Меню — Сценарии.
Чтобы файлики на рабочем столе вас не донимали, когда не записываете скрипты, то удалите из системной папки сам плагин.
Заметили ошибку в тексте - выделите ее и нажмите Ctrl + Enter. Спасибо!
Запись действий в Photoshop CS6 и CC в скрипт
Для примера, я произвёл следующие действия, кстати, одно из этих действий - сохранение для Web - невозможно автоматизировать и записать с помощью обычных Action:
Теперь открываю файл ScriptingListenerJS.log и вижу следующий код:
var idMk = charIDToTypeID ( "Mk " ); var desc11 = new ActionDescriptor (); var idNw = charIDToTypeID ( "Nw " ); var desc12 = new ActionDescriptor (); var idMd = charIDToTypeID ( "Md " ); var idRGBM = charIDToTypeID ( "RGBM" ); desc12.putClass ( idMd, idRGBM ); var idWdth = charIDToTypeID ( "Wdth" ); var idRlt = charIDToTypeID ( "#Rlt" ); desc12.putUnitDouble ( idWdth, idRlt, 600.000000 ); var idHght = charIDToTypeID ( "Hght" ); var idRlt = charIDToTypeID ( "#Rlt" ); desc12.putUnitDouble ( idHght, idRlt, 400.000000 ); var idRslt = charIDToTypeID ( "Rslt" ); var idRsl = charIDToTypeID ( "#Rsl" ); desc12.putUnitDouble ( idRslt, idRsl, 72.000000 ); var idpixelScaleFactor = stringIDToTypeID ( "pixelScaleFactor" ); desc12.putDouble ( idpixelScaleFactor, 1.000000 ); var idFl = charIDToTypeID ( "Fl " ); var idFl = charIDToTypeID ( "Fl " ); var idWht = charIDToTypeID ( "Wht " ); desc12.putEnumerated ( idFl, idFl, idWht ); var idDpth = charIDToTypeID ( "Dpth" ); desc12.putInteger ( idDpth, 8 ); var idprofile = stringIDToTypeID ( "profile" ); desc12.putString ( idprofile, """Adobe RGB (1998)""" ); var idDcmn = charIDToTypeID ( "Dcmn" ); desc11.putObject ( idNw, idDcmn, desc12 ); executeAction ( idMk, desc11, DialogModes.NO ); var idFl = charIDToTypeID ( "Fl " ); var desc13 = new ActionDescriptor (); var idUsng = charIDToTypeID ( "Usng" ); var idFlCn = charIDToTypeID ( "FlCn" ); var idFrgC = charIDToTypeID ( "FrgC" ); desc13.putEnumerated ( idUsng, idFlCn, idFrgC ); var idOpct = charIDToTypeID ( "Opct" ); var idPrc = charIDToTypeID ( "#Prc" ); desc13.putUnitDouble ( idOpct, idPrc, 100.000000 ); var idMd = charIDToTypeID ( "Md " ); var idBlnM = charIDToTypeID ( "BlnM" ); var idNrml = charIDToTypeID ( "Nrml" ); desc13.putEnumerated ( idMd, idBlnM, idNrml ); executeAction ( idFl, desc13, DialogModes.NO ); var idExpr = charIDToTypeID ( "Expr" ); var desc14 = new ActionDescriptor (); var idUsng = charIDToTypeID ( "Usng" ); var desc15 = new ActionDescriptor (); var idOp = charIDToTypeID ( "Op " ); var idSWOp = charIDToTypeID ( "SWOp" ); var idOpSa = charIDToTypeID ( "OpSa" ); desc15.putEnumerated ( idOp, idSWOp, idOpSa ); var idDIDr = charIDToTypeID ( "DIDr" ); desc15.putBoolean ( idDIDr, true ); var idIn = charIDToTypeID ( "In " ); desc15.putPath ( idIn, new File ( "C:\\Users\\Exellent\\Desktop" ) ); var idFmt = charIDToTypeID ( "Fmt " ); var idIRFm = charIDToTypeID ( "IRFm" ); var idJPEG = charIDToTypeID ( "JPEG" ); desc15.putEnumerated ( idFmt, idIRFm, idJPEG ); var idIntr = charIDToTypeID ( "Intr" ); desc15.putBoolean ( idIntr, false ); var idQlty = charIDToTypeID ( "Qlty" ); desc15.putInteger ( idQlty, 50 ); var idQChS = charIDToTypeID ( "QChS" ); desc15.putInteger ( idQChS, 0 ); var idQCUI = charIDToTypeID ( "QCUI" ); desc15.putInteger ( idQCUI, 0 ); var idQChT = charIDToTypeID ( "QChT" ); desc15.putBoolean ( idQChT, false ); var idQChV = charIDToTypeID ( "QChV" ); desc15.putBoolean ( idQChV, false ); var idOptm = charIDToTypeID ( "Optm" ); desc15.putBoolean ( idOptm, true ); var idPass = charIDToTypeID ( "Pass" ); desc15.putInteger ( idPass, 1 ); var idblur = charIDToTypeID ( "blur" ); desc15.putDouble ( idblur, 0.000000 ); var idEICC = charIDToTypeID ( "EICC" ); desc15.putBoolean ( idEICC, false ); var idMtt = charIDToTypeID ( "Mtt " ); desc15.putBoolean ( idMtt, true ); var idMttR = charIDToTypeID ( "MttR" ); desc15.putInteger ( idMttR, 255 ); var idMttG = charIDToTypeID ( "MttG" ); desc15.putInteger ( idMttG, 255 ); var idMttB = charIDToTypeID ( "MttB" ); desc15.putInteger ( idMttB, 255 ); var idSHTM = charIDToTypeID ( "SHTM" ); desc15.putBoolean ( idSHTM, false ); var idSImg = charIDToTypeID ( "SImg" ); desc15.putBoolean ( idSImg, true ); var idSWsl = charIDToTypeID ( "SWsl" ); var idSTsl = charIDToTypeID ( "STsl" ); var idSLAl = charIDToTypeID ( "SLAl" ); desc15.putEnumerated ( idSWsl, idSTsl, idSLAl ); var idSWch = charIDToTypeID ( "SWch" ); var idSTch = charIDToTypeID ( "STch" ); var idCHsR = charIDToTypeID ( "CHsR" ); desc15.putEnumerated ( idSWch, idSTch, idCHsR ); var idSWmd = charIDToTypeID ( "SWmd" ); var idSTmd = charIDToTypeID ( "STmd" ); var idMDCC = charIDToTypeID ( "MDCC" ); desc15.putEnumerated ( idSWmd, idSTmd, idMDCC ); var idohXH = charIDToTypeID ( "ohXH" ); desc15.putBoolean ( idohXH, false ); var idohIC = charIDToTypeID ( "ohIC" ); desc15.putBoolean ( idohIC, true ); var idohAA = charIDToTypeID ( "ohAA" ); desc15.putBoolean ( idohAA, true ); var idohQA = charIDToTypeID ( "ohQA" ); desc15.putBoolean ( idohQA, true ); var idohCA = charIDToTypeID ( "ohCA" ); desc15.putBoolean ( idohCA, false ); var idohIZ = charIDToTypeID ( "ohIZ" ); desc15.putBoolean ( idohIZ, true ); var idohTC = charIDToTypeID ( "ohTC" ); var idSToc = charIDToTypeID ( "SToc" ); var idOCzerothree = charIDToTypeID ( "OC03" ); desc15.putEnumerated ( idohTC, idSToc, idOCzerothree ); var idohAC = charIDToTypeID ( "ohAC" ); var idSToc = charIDToTypeID ( "SToc" ); var idOCzerothree = charIDToTypeID ( "OC03" ); desc15.putEnumerated ( idohAC, idSToc, idOCzerothree ); var idohIn = charIDToTypeID ( "ohIn" ); desc15.putInteger ( idohIn, -1 ); var idohLE = charIDToTypeID ( "ohLE" ); var idSTle = charIDToTypeID ( "STle" ); var idLEzerothree = charIDToTypeID ( "LE03" ); desc15.putEnumerated ( idohLE, idSTle, idLEzerothree ); var idohEn = charIDToTypeID ( "ohEn" ); var idSTen = charIDToTypeID ( "STen" ); var idENzerozero = charIDToTypeID ( "EN00" ); desc15.putEnumerated ( idohEn, idSTen, idENzerozero ); var idolCS = charIDToTypeID ( "olCS" ); desc15.putBoolean ( idolCS, false ); var idolEC = charIDToTypeID ( "olEC" ); var idSTst = charIDToTypeID ( "STst" ); var idSTzerozero = charIDToTypeID ( "ST00" ); desc15.putEnumerated ( idolEC, idSTst, idSTzerozero ); var idolWH = charIDToTypeID ( "olWH" ); var idSTwh = charIDToTypeID ( "STwh" ); var idWHzeroone = charIDToTypeID ( "WH01" ); desc15.putEnumerated ( idolWH, idSTwh, idWHzeroone ); var idolSV = charIDToTypeID ( "olSV" ); var idSTsp = charIDToTypeID ( "STsp" ); var idSPzerofour = charIDToTypeID ( "SP04" ); desc15.putEnumerated ( idolSV, idSTsp, idSPzerofour ); var idolSH = charIDToTypeID ( "olSH" ); var idSTsp = charIDToTypeID ( "STsp" ); var idSPzerofour = charIDToTypeID ( "SP04" ); desc15.putEnumerated ( idolSH, idSTsp, idSPzerofour ); var idolNC = charIDToTypeID ( "olNC" ); var list1 = new ActionList (); var desc16 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNCzerozero = charIDToTypeID ( "NC00" ); desc16.putEnumerated ( idncTp, idSTnc, idNCzerozero ); var idSCnc = charIDToTypeID ( "SCnc" ); list1.putObject ( idSCnc, desc16 ); var desc17 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNConenine = charIDToTypeID ( "NC19" ); desc17.putEnumerated ( idncTp, idSTnc, idNConenine ); var idSCnc = charIDToTypeID ( "SCnc" ); list1.putObject ( idSCnc, desc17 ); var desc18 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNCtwoeight = charIDToTypeID ( "NC28" ); desc18.putEnumerated ( idncTp, idSTnc, idNCtwoeight ); var idSCnc = charIDToTypeID ( "SCnc" ); list1.putObject ( idSCnc, desc18 ); var desc19 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNCtwofour = charIDToTypeID ( "NC24" ); desc19.putEnumerated ( idncTp, idSTnc, idNCtwofour ); var idSCnc = charIDToTypeID ( "SCnc" ); list1.putObject ( idSCnc, desc19 ); var desc20 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNCtwofour = charIDToTypeID ( "NC24" ); desc20.putEnumerated ( idncTp, idSTnc, idNCtwofour ); var idSCnc = charIDToTypeID ( "SCnc" ); list1.putObject ( idSCnc, desc20 ); var desc21 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNCtwofour = charIDToTypeID ( "NC24" ); desc21.putEnumerated ( idncTp, idSTnc, idNCtwofour ); var idSCnc = charIDToTypeID ( "SCnc" ); list1.putObject ( idSCnc, desc21 ); desc15.putList ( idolNC, list1 ); var idobIA = charIDToTypeID ( "obIA" ); desc15.putBoolean ( idobIA, false ); var idobIP = charIDToTypeID ( "obIP" ); desc15.putString ( idobIP, """""" ); var idobCS = charIDToTypeID ( "obCS" ); var idSTcs = charIDToTypeID ( "STcs" ); var idCSzeroone = charIDToTypeID ( "CS01" ); desc15.putEnumerated ( idobCS, idSTcs, idCSzeroone ); var idovNC = charIDToTypeID ( "ovNC" ); var list2 = new ActionList (); var desc22 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNCzeroone = charIDToTypeID ( "NC01" ); desc22.putEnumerated ( idncTp, idSTnc, idNCzeroone ); var idSCnc = charIDToTypeID ( "SCnc" ); list2.putObject ( idSCnc, desc22 ); var desc23 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNCtwozero = charIDToTypeID ( "NC20" ); desc23.putEnumerated ( idncTp, idSTnc, idNCtwozero ); var idSCnc = charIDToTypeID ( "SCnc" ); list2.putObject ( idSCnc, desc23 ); var desc24 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNCzerotwo = charIDToTypeID ( "NC02" ); desc24.putEnumerated ( idncTp, idSTnc, idNCzerotwo ); var idSCnc = charIDToTypeID ( "SCnc" ); list2.putObject ( idSCnc, desc24 ); var desc25 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNConenine = charIDToTypeID ( "NC19" ); desc25.putEnumerated ( idncTp, idSTnc, idNConenine ); var idSCnc = charIDToTypeID ( "SCnc" ); list2.putObject ( idSCnc, desc25 ); var desc26 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNCzerosix = charIDToTypeID ( "NC06" ); desc26.putEnumerated ( idncTp, idSTnc, idNCzerosix ); var idSCnc = charIDToTypeID ( "SCnc" ); list2.putObject ( idSCnc, desc26 ); var desc27 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNCtwofour = charIDToTypeID ( "NC24" ); desc27.putEnumerated ( idncTp, idSTnc, idNCtwofour ); var idSCnc = charIDToTypeID ( "SCnc" ); list2.putObject ( idSCnc, desc27 ); var desc28 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNCtwofour = charIDToTypeID ( "NC24" ); desc28.putEnumerated ( idncTp, idSTnc, idNCtwofour ); var idSCnc = charIDToTypeID ( "SCnc" ); list2.putObject ( idSCnc, desc28 ); var desc29 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNCtwofour = charIDToTypeID ( "NC24" ); desc29.putEnumerated ( idncTp, idSTnc, idNCtwofour ); var idSCnc = charIDToTypeID ( "SCnc" ); list2.putObject ( idSCnc, desc29 ); var desc30 = new ActionDescriptor (); var idncTp = charIDToTypeID ( "ncTp" ); var idSTnc = charIDToTypeID ( "STnc" ); var idNCtwotwo = charIDToTypeID ( "NC22" ); desc30.putEnumerated ( idncTp, idSTnc, idNCtwotwo ); var idSCnc = charIDToTypeID ( "SCnc" ); list2.putObject ( idSCnc, desc30 ); desc15.putList ( idovNC, list2 ); var idovCM = charIDToTypeID ( "ovCM" ); desc15.putBoolean ( idovCM, false ); var idovCW = charIDToTypeID ( "ovCW" ); desc15.putBoolean ( idovCW, true ); var idovCU = charIDToTypeID ( "ovCU" ); desc15.putBoolean ( idovCU, true ); var idovSF = charIDToTypeID ( "ovSF" ); desc15.putBoolean ( idovSF, true ); var idovCB = charIDToTypeID ( "ovCB" ); desc15.putBoolean ( idovCB, true ); var idovSN = charIDToTypeID ( "ovSN" ); desc15.putString ( idovSN, """images""" ); var idSaveForWeb = stringIDToTypeID ( "SaveForWeb" ); desc14.putObject ( idUsng, idSaveForWeb, desc15 ); executeAction ( idExpr, desc14, DialogModes.NO );
Теперь давайте убедимся, что в коде содержатся именно те действия, которые я совершил.
Для этого можно скопировать код, сохранить его в файле с расширением jsx, затем просто мышкой перетащить этот файл в рабочее окно Фотошопа.
Либо открыть редактор Adobe ExtendScript Toolkit CS6, инсталлирующийся при установке Photoshop CS6, выбрать в левом верхнем углу "Adobe Photoshop CS6", затем нажать на кнопку "Start running the script" (зелёный треугольник).
Примечание. В Photoshop CC бесплатное приложение ExtendScript Toolkit CC надо скачать через Adobe Creative Cloud.
В любом случае, Фотошоп воспроизведёт действия, которые я только что записал.
Скачать файлы ScriptListener.8li для Photocsop CS6 и CC для Win32 и win64:
ТОП 15: Лучшие бесплатные Photoshop скрипты
Скрипты Photoshop (сценарии) немного похожи на Actions, но вместо того, чтобы просто воспроизводить серии шагов, скрипты могут сами принимать умные решения во время работы. Они также имеют доступ ко всему функционалу Photoshop, включая элементы, недоступные для Actions, так что с их помощью можно делать значительно больше вещей.
На самом деле, большинство функций, которые вы используете в Photoshop, являются сценариями. Возьмем, например, Обработчик изображений (Файл > Сценарии), который позволяет быстро конвертировать целую папку изображений из одного формата в другой, меняя размер и добавляя meta данные.
01. Corner Editor
Этот полезный маленький скрипт позволяет легко создавать закругленные углы любой формы. Вы можете задавать отдельные настройки для каждого угла.
02. Black & White Variations
Этот сценарий Тревора Морриса (Trevor Morris) конвертирует и сохраняет изображения в черно-белом цвете в 20 разных вариациях. Когда 20 вариантов были сохранены, их можно автоматически открыть в Photoshop для сравнения. К тому же, вы можете сами добавлять вариации к подборке.
03. Split to Layers
Этот полезный Photoshop скрипт просто изолирует смежные группы пикселей слоя и переносит каждую группу на другой слой. Это очень полезно в ситуациях, когда у вас много элементов на одном слое, и нужно их разделить.
04. Adobe Paper Texture Panel
Рассел Браун (Russell Brown) предлагает большую подборку сценариев на своем веб-сайте, чего и стоит ожидать от одного из представителей Adobe. Этот отдельный скрипт позволяет быстро взять текстуру и использовать ее в отдельно открытом документе.
05. Eliminate Copy
Этот супер-полезный скрипт Майка Хейла (Mike Hale) позволяет вам удалить копию слова из имени дублированных слоев в Photoshop. Он может удалять сразу несколько слоев, или только активный в данный момент слой.
06. Create a Calendar
Этот сценарий позволяет генерировать календарь для любого месяца. Просто запустите его, выберите месяц и год, и он все сделает.
07. Stack-a-Matic
Еще один из скриптов Рассела Брауна, с помощью которого можно комбинировать несколько экспозиций в одно завершенное изображение. Он идеален для астрофотографий, в которых изображение составляется из нескольких снимков.
08. Sprite Generator
Если вы используете спрайты для изображений фона, вам понравится этот скрипт. Он позволяет автоматически генерировать спрайты и весь необходимый CSS, просто выбрав папку с изображениями.
09. Super Export
С помощью этого скрипта можно легко экспортировать части PSD документа как отдельные файлы, называя слои в соответствии с именем файла, который вы хотите сохранить. Например, назовите слой «background.jpg” и запустите скрипт, чтобы сохранить только этот слой, скрыв остальные.
10. Scale patterns to 100%
При масштабировании документа в Photoshop, слои шаблона и его стили масштабируются одновременно, делая результат несовершенным, особенно при использовании шумовых и текстурных шаблонов. Этот скрипт масштабирует все шаблоны до 100 процентов, чтобы вам не пришлось разыскивать слои и менять размер каждого индивидуально.
11. Export text to file
Этот скрипт просматривает ваш PSD документ и захватывает весь текстовый контент и сохраняет его в отдельный текстовый файл, который потом можно использовать для быстрого копирования. Идеален для веб-дизайнеров, которые переносят статический макет в HTML шаблон.
12. Offset all layers
Если вы используете Photoshop для генерирования повторяющихся шаблонов, то вам наверняка знаком Offset фильтр. С его помощью можно обернуть пиксели от одного края документа к противоположному, чтобы создавать идеальные бесшовные шаблоны. Проблема в том, что Offset фильтр работает только с одним слоем. Этот скрипт решает проблему.
13. Textparser
Этот отличный скрипт Джастина Марсана (Justin Marsan) генерирует CSS стили для текста внутри Photoshop документа. Он автоматически подбирает из вашего файла цвет, размер, начертание, высоту строки и многое другое. Идеален для веб-дизайнеров.
14. Google Maps Tile Cutter
Позволяет автоматически делить большое изображение для использования с Google Картами. Если вы разрабатываете приложение, которое использует карты, этот скрипт вам идеально подойдет.
15. Parametric Curves
Этот скрипт позволяет генерировать математически определенные слои корректировки кривых линий, полезные для создания узоров и текстур. В целом этот скрипт особенно полезен при создании четких карт.
Перевод статьи The 15 best free Photoshop Scripts
Автор оригинального текста Sam Hampton-Smith
Adobe Configurator - создаем панель в Photoshop и пишем скрипты
В одном из прошлых уроков мы с вами научились создавать панели для программы Adobe Photoshop при помощи приложения Adobe Configurator. Теперь настала пора объяснить какие трудности могут возникнуть с данным приложением, и как их исправить, а также можно посмотреть, как устанавливать расширения в Фотошоп.
В нашем примере мы будем внедрять не просто обычные операции, которые уже находятся в программе Adobe Photoshop, а более сложные конструкции. Например, очень удобно пользоваться экшенами в Фотошоп, если вы обрабатываете огромное количество одинаковых фотографий, поэтому создать панель с ними будет далеко не лишним. Что для этого требуется?
Для создания экшена нам нужно:
- Специальный файл, который будет переводить наш экшен в скрипт, который в дальнейшем мы вставим на панель.
- Сама панель с кнопкой операции, при нажатии на которую будет выполняться экшен.
Открываем приложение Adobe Configurator и создаем панель. О том как создать панель можно прочитать тут.
Нам понадобится иконка со скриптом, перетаскиваем ее на любое место нашей панели.
Теперь нужно открыть программу Adobe Photoshop и подготовить сам экшен. Для этого мы откроем панель операций и сохраним любой экшен на рабочий стол. У вас должен появиться файл с расширением .atn.
После этого скачиваем и распаковываем файл под названием ActionFileToJavascript.jsx. Он то и сделает задачу перевода операции в скрипт (или проще говоря в текстовый файл, который можно будет потом вставить в Adobe Configurator). Скачать его можно по ссылке, которая дана внизу этой статьи.
Итак, начнем…. Все файлы готовы:
- ActionFileToJavascript.jsx
- Файл с расширением .atn.
Запускаем еще раз Фотошоп и переходим в пункт меню – File-Scripts-Browse.
Выбираем файл с названием ActionFileToJavascript.jsx и, после того как увидите окно с настройками, вставляем необходимые пути для нашего экшена и выходного файла с готовым скриптом. Так как мы сохраняли оба файла на рабочий стол, то данные действия не составят особого труда…
Открываем получившийся файл при помощи блокнота или любой другой программы текстового редактора и копируем весь текст.
Примечание: Если у вас установлена программа от Adobe – Extendscript Toolkit – то файл автоматически откроется в ней.
После вышеописанных действий идем обратно в приложение Adobe Configurator и вставляем скопированный текст в поле со скриптом.
Рядом с названием вы найдете кнопку с его редактированием. Сохраняем панель и экспортируем ее, а после этого перегружаем Фотошоп.
Переходим в меню Window-Extensions-Ваша панель, где вместо пункта “Ваша панель” должно высветиться описание экшена.
Мой экшен преобразовывает блеклые фотографии в яркие и сочные и добавляет им синего оттенка, что можно видеть на нижеприведенном примере.
На представленном видео можно подробно посмотреть, как выглядит процесс создания панели, а также внедрения скрипта в систему.
Удобные И Незаменимые В Веб-Дизайне Бесплатные Скрипты Для Photoshop / WAYUP
Возможно, прозвучит банально, но Photoshop действительно и считается и является лучшим и удобным приложением не только для работы с изображениями и фотографиями, но и для веб-дизайна. Об этом мы даже рассказали вам в прошлом материале. Но в течение многих лет пользователи желали различных улучшений для программы, чтобы придать ей большую эффективность. Сама же компания Adobe посчитала иначе и мы с вами имеем сейчас то, что имеем. В версиях СС имеются функции, которых нет в CS6/CS5, а в этих версиях нет «фишек» из СС. Именно поэтому обычно у творческих людей на компьютерах установлена не одна версиях Photoshop. Впрочем, нужно поблагодарить компанию за многочисленные фильтры, пресеты (presets), кисти, поддержку 3D и многое иное.
Так или иначе, существует в приложении (любой версии) и поддержка пользовательских скриптов или сценариев (Scripts). Они похожи на действия (Actions), но позволяют пользователям принимать решения во время своей работы, а не просто слепо повторяют заложенные в них ранее шаги. Скрипты позволяют добиться очень многого, потому как у нас с вами появляется доступ ко всему функционалу приложения.
Самый простой пример скрипта: конвертация всей папки с изображениями из одного формата в другой, изменение размера изображения и добавление мета-данных, удаление пустых слоев, работа с масками. Но в реалии скрипты могут еще многое и ниже мы посмотрим, что именно и как это всё работает.
Вспоминая известное
Чтобы не повторяться постоянно, сразу обратим внимание на главное:
- Все рассмотренные нами скрипты тестировались и имеют поддержку (x64) Photoshop CS5/CC2014/CC2015. Если разработчики обращают внимание отдельно на версии, в описании ниже будет отмечено.
- Установка скриптов осуществляется в папку Photoshop (ваша версия)/Presets/Scripts/
- В самой программе вызываются через меню Файл -> Сценарии. Если скрипта нет, выберите в этом меню Обзор и сценарий активируется в приложении.
- Для установки горячих кнопок для запуска скриптов, откройте Редактирование -> Клавиатурные сокращения, и в первой же вкладке выберите меню Файл, прокрутите список, раскройте Сценарии и увидите все ваши скрипты.
Измерение в пикселях – Pixel Measure
Как часто вам приходилось измерять точное расстояние между двумя элементами по горизонтали или вертикали. И не просто измерять в пикселях, но и равномерно распределять другие элементы. Посчитать точное расстояние в Photoshop можно, но кропотливо. Есть решение проще.
Скрипт Pixel Мeasure позволяет сделать это в два клика. Загрузите архив с github (теперь он здесь хранится, ссылка в названии) и распакуйте в папку со скриптами.
Выберите нужный документ и с помощью выделения обозначьте нужное расстояние. Рассчитываться будет та сторона прямоугольного выделения, которая больше (длиннее). Затем среди слоев появится текстовой слой с количеством пикселей и слой в виде линии. Этот слой можно перемещать и как линейкой замерить расстояние. Вы скажите, что при выделении и так указана ширина и высота, но в данном случае создается готовая линия, которой удобнее измерять и которую можно перемещать, да и случаи в жизни бывают разные.
Разделение на слои – Split to Layers
Совсем маленький и скромный скрипт позволит сделать то, что очень часто бывает так необходимо. Вы что-то создаете, дорисовываете кисточкой или накладываете объекты друг на друга или рядом и в какой-то момент осознаете, что забыли все это сделать на отдельных слоях. Досада! Приходится переделывать!
Скрипт сам разделит все созданное на слои. Если используется кисточка с размытыми краями, то готовьтесь к тому, что скрипт обработает каждый пиксель и может создать до 70+ слоев. Если кисть жесткая (обычная), то все проходит быстро и четко. Пример ниже.
Важно: рабочий слой должен быть разблокирован на панели слоев (значка замочка не должно быть) и иметь прозрачный фон. На белом фоне (однородном) разделения не происходит.
Переименование группы слоев – Group Layer Renaming
Создавая дизайн сайта в Photoshop приходится (и без этого никуда) использовать много слоев. Ну, очень много. Иногда эти слои являются дубляжами друг друга. Соответственно, намного удобнее становится ориентироваться в проекте, если каждый слой имеет свое название. Но представьте, как муторно и долго переименовывать большое количество слоев. Данный скрипт сделает все за вас и переименование 30 слоев сократится, как минимум, на две минуты.
Загрузите скрипт со странички автора и скопируйте в папку приложения, а затем увидите его в меню.
Откройте документ, выберите нужные слои для переименования, запустите скрипт и введите нужное название. Но при этом переименовать можно разными способами: добавить ваше название в конце уже имеющегося; добавить в начало; или заменить на ваше полностью. Мы выбрали первое и результат виден на скриншоте ниже, а чтобы названия не сливались (Слой 5мой слой), поставьте в поле названия сначала пробел.
Работая над веб-дизайном, рано или поздно, возникает момент, когда вам необходимо или просто хочется самому продемонстрировать, как ваш сайт будет выглядеть в окне браузера. В данном случае разработчики взяли за основу Safari.
Скрипт обрабатывает все ваши слои, удаляет сетки и прочее и «упаковывает» в соответствующую рамочку ваш проект. При этом загрузка происходит при 100% масштабировании, то есть реальном размере вашего проекта.
Как обычно: загрузите все файлы и папочку из архива в скрипты, а затем вызовите его через меню.
Такое изображение можно сохранить в JPG или PNG, а может даже и PDF, и представить на суд заказчика, например.
Изменяя Радиус – Radius Resizer
В Photoshop сложно менять каждый отдельный угол одного прямоугольника в любое время. А если этот объект требуется изменить на нескольких слоях, то и тем более приходится долго маяться. Ох, а ведь бывает, что нужно сделать углы разными по радиусу!
Установка и вызов скрипта происходит как обычно, но скопированы должны быть все файлы и папки из архива.
Выбираете фигуру, запускаете скрипт и устанавливаете значение радиуса угла. Если эта фигура есть на нескольких слоях, то выделяете все нужные слои и уже затем запускаете для них скрипт и меняете значение радиуса угла. Если у фигуры уже есть скошенный угол, то скрипт покажет вам его значение и будет гораздо проще настроить точно такой же угол и в других местах/слоях.
Генератор шаблонов – Template Generator
Начиная работу с новым дизайн-проектом, всегда приходится делать одну и ту же рутинную работу по созданию сетки, разметки рабочего полотна. Казалось бы, это должно уже стать постоянной функцией Photoshop – но это не так. Данный скрипт создает сетки автоматически при создании нового документа. Это легко и удобно.
Установка немного отличается от стандарта. Необходимо все файлы и папку templates из загруженного архива со странички автора скопировать в Photoshop/Presets/Scripts/Event Scripts Only. Если вдруг такой папки нет – создайте сами.
Затем запустить Photoshop и в меню Файл выбрать Сценарии -> Обзор и найти файл +install.jsx Запустите его и Скрипт установится.
После этого останется всего-то создать новый документ и в конце его названия добавить размер сетки. Эта сетка создастся автоматически.
При этом существует возможность создания пользовательских шаблонов к этому скрипту. Особенность в том, что все шаблоны psd должны сохраняться в ту же папку templates, а название файла и станет тем ключом, который необходимо будет вводить в конце названия документа при создании нового в Photoshop. Важно помнить, что обычный скрипт не изменит размер созданного полотна на свой, поэтому, если это нужно – создайте пустой слой в шаблоне с именем Lock Size и разместите его самым первым (сверху). Поскольку скрипт выполняется снизу вверх, то по завершению действий заданный вами размер изменится на шаблонный.
Мобильный предпросмотр – Device Art Generator
Достаточно часто веб-дизайнеру приходится смотреть, как его творение будет выглядеть на экранах смартфонов и планшетов. Сделать это можно по-разному, но в самом Photoshop такой возможности нет. Данный скрипт позволяет увидеть именно это и поддерживает такие устройства как iPhone, iPad, Samsung Galalxy, HTC One, Motorola, Nexus.
Установка отличается чуть-чуть. Скопируйте файлы скриптов в папку Photoshop/Presets/Scripts/, а папку DeviceFrames из архива в Photoshop/Presets/.
Затем откройте свой PSD, сохраните в PNG (для удобства работы скрипта) и запускайте Сценарий deviceArtGeneratiorUI.jsx. Мы выбрали модель Htc One X и загрузку из PNG. Результат будет показан в отдельном документе ниже на нашем скриншоте. Смысл такого моделирования – визуализация расположения элементов по ширине. Понятное дело, что Landing Page будет прокручиваться, но как будет выглядеть в целом, можно представить.
Трансформация – Transform Each
Как часто нам приходится, работая в Photoshop, увеличивать или уменьшать размер объекта? При этом обычно мы делаем это «на глазок» и всегда переделываем не один раз. Данный скрипт позволит не просто поменять размер объекта в процентах, но и предварительно оценить его внешний вид. Одновременно можно обрабатывать от двух до шести слоев.
В нашем примере мы выбрали слои, которые создают иконку YouTube и попробовали её увеличить до 151% и уменьшить до 50%. Нажали кнопочку Preview и посмотрели, как будет смотреться рядом сдругими изображениями.
От светлого к темному – Lighten&Darken Color
Работа с цветом и подбором оттенков важна в веб-дизайне. И если вам необходимо часто менять оттенки и подбирать их, то работа может не просто превратиться в рутину, но и времени уйдет много, да и настроение подпортится. Очередной скрипт позволяет установить горячие кнопки для различных нужных вам оттенков, чтобы затем одним нажатием быстро заменить один цвет на другой.
Скачать можно по ссылке (эта уже обновленная) и в архиве два скрипта: один на увеличение яркости, другой на уменьшение. Скопируйте файлы .jsx в Photoshop/Presets/Scripts/ и найдите их в меню Файл -> Сценарии.
Важно: оттенок цвета меняется не на объекте и не на слое, а на панели инструментов слева на иконках выбора цвета. Разумеется, менять оттенок можно и в палитре цветов вручную (без скрипта), но иногда подбирать четкий цвет сложно. Здесь же шаг составляет 10%.
Завершение
Мы привели не слишком большой список различный сценариев (скриптов) для Photoshop. Разумеется, на просторах интернета можно найти их и в большем количестве, платных и бесплатных. Какие-то функции уже используются самой Adobe в том или ином варианте, какие-то нет. Да и в разных версиях самого приложения разные возможности. Мы надеемся, что когда-нибудь все описанное нами выше вам потребуется и действительно поможет в процессе веб-дизайна, сделает работу более быстрой, эффективной и немного автоматической.
Как установить экшен (Action) в Photoshop
Photoshop Action в русском языке обозначается по-разному: экшен, действие, операция, и все эти термины используются в статьях о Photoshop. В официальном русскоязычном интерфейсе Photoshop Action переведён как "Операция".
Photoshop Action — это последовательность записанных в определенном порядке и действий с инструментами, командами и функциями программы, которая автоматизирует процесс выполнения работы.
В этой статье я расскажу о двух способах установки экшена в Фотошоп, стандартном и быстром.
Файл Action имеет расширение ATN, а его значок в папке компьютера выглядит так:
Итак, как же установить экшен в Photoshop.
Стандартная установка Action в Photoshop
Для начала надо загрузить на компьютер файл ATN и запомнить папку сохранения.
Затем идём по вкладке главного меню Окно --> Операции (Window --> Actions), также можно нажать комбинацию клавиш Alt+F9, в любом случае открывается панель экшенов:
Затем надо нажать на квадратик в верхнем правом углу окна, откроется меню, где следует выбрать строку "Загрузить операцию" (Load Ation):
После чего откроется обычное диалоговое окно Windows, в котором надо найти папку с сохранённой операцией Фотошоп (файл ATN):
Быстрая установка Action в Photoshop
Существует и быстрый способ установки. Для этого, Вам надо открыть папку c файлом экшена (файл ATN) в Windows и просто дважды кликнуть по файлу. Программа Photoshop запустится, если она не была запущена, а новый Action появится мгновенно в палитре операций. Всё, установка завершена.
Сценарии Adobe Photoshop
Adobe Photoshop 2020 Сценарии
Доступна документация по созданию сценариев Adobe® Photoshop® 2020. Разработчики могут писать сценарии, которые автоматизируют задачи, выполняемые Photoshop. Получите документацию и начните писать сценарии для Photoshop уже сегодня.
Adobe Photoshop CC 2019 Создание сценариев
Доступна документация по сценариям Adobe® Photoshop® CC 2019.Разработчики могут писать сценарии, которые автоматизируют задачи, выполняемые Photoshop CC. Получите документацию и начните писать сценарии для Photoshop CC уже сегодня.
Adobe Photoshop CC 2015 Создание сценариев
Доступна документация по созданию сценариев Adobe® Photoshop® CC 2015. Разработчики могут писать сценарии, которые автоматизируют задачи, выполняемые Photoshop CC. Получите документацию и начните писать сценарии для Photoshop CC уже сегодня.
Adobe Photoshop CC 2014 Сценарии
Доступна документация по созданию сценариев Adobe® Photoshop® CC 2014. Разработчики могут писать сценарии, которые автоматизируют задачи, выполняемые Photoshop CC. Получите документацию и начните писать сценарии для Photoshop CC уже сегодня.
Сценарии Adobe Photoshop CC
Разработчики могут писать сценарии, автоматизирующие задачи, выполняемые Photoshop CC.Получите документацию и начните писать сценарии для Photoshop CC уже сегодня.
Adobe Photoshop CC не устанавливает папку сценариев. Воспользуйтесь приведенными ниже ссылками, чтобы вручную установить подключаемый модуль Samples, Documentation and Scripting Listener.
Adobe Photoshop CS6 Сценарии
Доступна документация по сценариям Adobe® Photoshop® CS6.Разработчики могут писать сценарии, которые автоматизируют задачи, выполняемые Photoshop CS6. Получите документацию и начните писать сценарии для Photoshop CS6 уже сегодня.
Adobe Photoshop CS5 Сценарии
Документация по сценариям Adobe® Photoshop® CS5 теперь доступна. Разработчики могут писать сценарии, автоматизирующие задачи, выполняемые Photoshop CS5. Получите документацию и начните писать сценарии для Photoshop CS5 уже сегодня.
Adobe Photoshop CS4 Сценарии
Сценарий - это серия команд, которые заставляют Photoshop выполнить одну или несколько задач. Photoshop CS4 поддерживает сценарии, написанные на AppleScript, JavaScript или VBScript. Примеры сценариев включены в установщик Photoshop CS4 и устанавливаются вместе с продуктом. Последняя доступная документация по сценариям представлена ниже:
Adobe Photoshop CS3 Сценарии
Сценарий - это серия команд, которые заставляют Photoshop выполнить одну или несколько задач.Photoshop CS3 поддерживает сценарии, написанные на AppleScript, JavaScript или VBScript. Примеры сценариев включены в установщик Photoshop CS3 и устанавливаются вместе с продуктом. Последняя доступная документация по сценариям представлена ниже:
Adobe Photoshop CS2 Сценарии
Следующие справочные материалы и руководства по сценариям помогут вам при разработке программного обеспечения Photoshop CS2:
.javascript - Photoshop: как запустить / вызвать сценарий JSX из другого сценария JSX в Photoshop?
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
extendscript - скрипт Photoshop, как добавить изображение на слой
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
- Рекламная
javascript - Размещение изображения в текущем открытом документе фотошопа (applescript)
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
javascript - Создайте скрипт фотошопа для добавления текстового слоя к партии фотографий
Переполнение стека- Около
- Товары
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
Устранение проблем со шрифтами в Adobe Photoshop
Рекомендации! Убедитесь, что у вас есть только одна версия каждого шрифта, расположенная только в одной из следующих папок шрифтов:
- / Пользователи / [имя пользователя] / Библиотека / Шрифты
- / Библиотека / Шрифты
Для тестирования изолируйте проблемные шрифты, создав две папки на рабочем столе: одну с именем «fonttest» и одну с именем «goodfonts».
Поищите шрифты в этих местах для шрифтов для тестирования.Выполните это тестирование для всех следующих папок, содержащих шрифты:
- / Пользователи / [имя пользователя] / Библиотека / Шрифты
- / Библиотека / Шрифты
- / [сетевой диск] / Библиотека / Шрифты
Чтобы проверить наличие поврежденного шрифта, поместите половину шрифтов в одну из папок Library / Fonts, а половину в папку fonttest и проверьте условие, вызвавшее проблему.
- Если проблема повторяется, поврежденный шрифт все еще находится в папке Font, а шрифт отсутствует в папке fonttest.Переместите шрифты из папки fonttest в папку goodfonts.
- Если проблема больше не возникает, поврежденный шрифт находится в папке fonttest. Переместите шрифты из папки официальных шрифтов в папку goodfont. Переместите половину шрифтов обратно в официальную папку шрифтов для следующего раунда тестирования.
- Продолжайте тестировать половину оставшихся шрифтов и продолжайте без проблем перемещать шрифты в папку goodfonts.
- Когда вы определили один шрифт, вызывающий проблему, удалите его из папки официальных шрифтов.Переместите все шрифты из папки goodfonts обратно в соответствующую папку официальных шрифтов, которую вы тестируете. Выполните эти тесты для каждой папки официальных шрифтов, содержащей шрифты.
Важно: Если такая же проблема возникает после удаления шрифта, это означает, что один или несколько шрифтов имеют такую же или похожую проблему. Продолжайте выполнять эти действия, пока все поврежденные шрифты не будут удалены.
.