Из действий Photoshop в Photoshop?
Я хотел бы, чтобы Photoshop автоматически выполнил следующую задачу для данной папки:
- Загрузите все PNG файлы в заданную папку.
- Преобразование каждого режима файла в
RGB color
- Добавить один слой в каждый файл
- Сохраните файлы как PSD в одной папке
Мне сказали, что это можно сделать с помощью скриптов Photoshop, но я не знаю, как начать работу, поскольку, к сожалению, у меня нет большого опыта работы с JavaScript.
Одна вещь, которую я знаю, это то, что я не могу выполнить задачу выше, используя Actions
, потому что, когда я записываю последний шаг (4), Photoshop записывает действие для сохранения файлов PSD в папке, которую я использую при записи макрос (вместо того, который использовался для загрузки исходных файлов PNG). Другими словами, он фиксирует папку назначения той, которая используется в макросе.
Это приводит меня к следующему вопросу: Есть ли способ автоматически генерировать код JavaScript Javascript, который выполняет задание?
Если это так, я бы не прочь узнать, как изменить script, чтобы устранить проблему с вышеуказанной папкой.
Ответы
Ответ 1
Я сделал script, который выполняет требуемое задание:
#target photoshop
#strict on
runthis();
function runthis()
{
var path = "/d/PhotoshopScript/Images/";
var inputFolder = new Folder(path );
var inputFiles = inputFolder.getFiles("*.png");
for(index in inputFiles)
{
// open the file
var fileToOpen = new File(inputFiles[index]);
open(fileToOpen);
// Change mode to rgb
activeDocument.changeMode(ChangeMode.RGB);
// add a new layer
activeDocument.artLayers.add();
//save
var psdOptions = new PhotoshopSaveOptions();
psdOptions.alphaChannels = true;
psdOptions.annotations = false;
psdOptions.embedColorProfile = false;
psdOptions.layers = true;
psdOptions.spotColors = false;
var file = new File(path + GetFileName(String(inputFiles[index])));
activeDocument.saveAs(file, psdOptions);
activeDocument.close();
// dispose
fileToOpen = null;
psdOptions = null;
file = null;
}
// dispose
inputFolder = null;
inputFiles = null;
}
function GetFileName(fullPath)
{
var m = fullPath.match(/(.*)[\/\\]([^\/\\]+)\.\w+$/);
return m[2];
}
Его можно улучшить разными способами, но я надеюсь, что это поможет.
Ответ 2
Позвольте мне ответить на вопрос, который вы на самом деле задали жирным шрифтом:
Существует инструмент, который автоматически генерирует Javascript для действий и событий, которые происходят в Photoshop. Он называется Script Listener. После использования прослушивателя script для записи ваших действий просмотрите журнал и сделайте свои выборочные изменения.
Чтобы начать использовать script Listener
- Закрыть Photoshop
- Скопировать файл ScriptListener.8li
из C:\Program Files\Adobe\Adobe Photoshop
CS5\Scripting\Utilities
- Вставить файл в C:\Program
Файлы \Adobe\Adobe Photoshop CS5\Plug-ins\Automate.
- Запустите Photoshop, выполните действия, которые вы хотите выполнить в script.
- Закройте Photoshop, удалите копию прослушивателя script из папки Automate.
- Отредактируйте файл журнала, который размещен на вашем рабочем столе при прослушивании script.
Чтобы получить новый fangled script в Photoshop, поместите файл, который вы создали, с расширением jsx в C:\Program Files\Adobe\Adobe Photoshop CS5\Presets\Scripts.
Lynda.com имеет отличный курс по использованию сценариев и прослушивателя script. Однако это сайт, основанный на членстве, и не является бесплатным (от 25 до 35 долларов США).
Ответ 3
Я понимаю, что это старый вопрос, но то, что запрашивает оригинальный пост, может быть сделано полностью в Photoshop Action. Действия Photoshop легко записываются - вы просто нажимаете запись и выполняете шаги вручную. - включая этап "Открыть", "Действия" и "Сохранить".
Единственный трюк влево - это сделать действие запущенным в определенной папке, а не в месте, где вы записываете действие. Это легко, однако. Используйте опции "Override Open" и "Override Save". Вы вызываете это действие, используя File → Automate → Batch или Adobe Bridge, используя Tools → Photoshop → Action
См. это для примера:
![enter image description here]()
Для некоторых дополнительных советов смотрите здесь
Ответ 4
найдите файл SaveAsDifferentFileType.jsx на своем компьютере, я думаю, вы могли бы использовать его в качестве отправной точки.
Теперь я знаю, как создать этот код автоматически.
Я думаю, что нет способа узнать, как это работает:
Здесь документация: http://www.adobe.com/devnet/photoshop/scripting.html
И вот учебник, который расскажет вам, с чего начать:
http://morris-photographics.com/photoshop/tutorials/scripting1.html
Если вы используете MAC, вы можете попробовать действия Automator Photoshop:
http://www.completedigitalphotography.com/?p=339
Они позволят вам делать то, что вы хотите, без каких-либо программных ноу-хау.
Ответ 5
Чтобы обновить ответ Кевина, ScriptListener теперь скрыт в другом месте:
http://www.adobe.com/devnet/photoshop/scripting.html
внутри "Scripting Listener Plug-in". Также изменился каталог плагинов в Windows:
C:\Program Files\Common Files\Adobe\Plug-Ins\CC