Как автоматизировать Photoshop?
-
16-09-2019 - |
Вопрос
Я пытаюсь автоматизировать процесс сканирования / обрезки фотографий в Photoshop.Мне нужно отсканировать 3 фотографии одновременно, затем использовать команду Photoshop "Обрезать и выровнять фотографии", которая создает 3 отдельных изображения.После этого я хотел бы сохранить каждое из вновь созданных изображений в формате PNG.
Я просмотрел скрипты JSX, и они кажутся многообещающими.Возможно ли автоматизировать то, что я описал, в Photoshop с помощью JavaScript, VBScript или чего-то еще?
Решение 3
На самом деле я получил ответ на форумах Photoshop в Adobe.Оказывается, Photoshop CS4 полностью поддерживается сценариями с помощью JavaScript, VBScript и поставляется с действительно потрясающей IDE разработчика, в которой есть все, что вы ожидаете (отладчик, окно просмотра, цветовое кодирование и многое другое).Я был полностью впечатлен.
Ниже приводится выдержка для справки:
вы можете запустить следующий скрипт, который создаст новую папку из существующей и пакетно разделит все файлы, назвав их existingFileName#001.png и поместив их в новую папку (отредактировано)
#target Photoshop
app.bringToFront;
var inFolder = Folder.selectDialog("Please select folder to process");
if(inFolder != null){
var fileList = inFolder.getFiles(/\.(jpg|tif|psd|)$/i);
var outfolder = new Folder(decodeURI(inFolder) + "/Edited");
if (outfolder.exists == false) outfolder.create();
for(var a = 0 ;a < fileList.length; a++){
if(fileList[a] instanceof File){
var doc= open(fileList[a]);
doc.flatten();
var docname = fileList[a].name.slice(0,-4);
CropStraighten();
doc.close(SaveOptions.DONOTSAVECHANGES);
var count = 1;
while(app.documents.length){
var saveFile = new File(decodeURI(outfolder) + "/" + docname +"#"+ zeroPad(count,3) + ".png");
SavePNG(saveFile);
activeDocument.close(SaveOptions.DONOTSAVECHANGES) ;
count++;
}
}
}
};
function CropStraighten() {
function cTID(s) { return app.charIDToTypeID(s); };
function sTID(s) { return app.stringIDToTypeID(s); };
executeAction( sTID('CropPhotosAuto0001'), undefined, DialogModes.NO );
};
function SavePNG(saveFile){
pngSaveOptions = new PNGSaveOptions();
pngSaveOptions.embedColorProfile = true;
pngSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
pngSaveOptions.matte = MatteType.NONE;
pngSaveOptions.quality = 1;
pngSaveOptions.PNG8 = false; //24 bit PNG
pngSaveOptions.transparency = true;
activeDocument.saveAs(saveFile, pngSaveOptions, true, Extension.LOWERCASE);
}
function zeroPad(n, s) {
n = n.toString();
while (n.length < s) n = '0' + n;
return n;
};
Посетить здесь для завершения публикации.
Другие советы
Я только что нашел, что этот скрипт просто выполнил всю работу за меня!Он автоматически обрезает и выпрямляет фотографию и сохраняет каждый результат в указанном вами каталоге.
Сохраните его в local, затем запустите его в PS=> File=> Command=> Browse
P.S Я нашел в комментарии, что скрипт может быть выполнен непосредственно двойным щелчком мыши в Mac Finder или проводнике Windows.
Вы пробовали использовать Photoshop Actions?Я сейчас не говорю о части сканирования, но все остальное можно довольно легко выполнить с помощью действий.