[ID CC-CC2022] Как из-под Индизайна создать корректирующий слой в ФШ

  • Автор темы Автор темы hulk1776
  • Дата начала Дата начала

hulk1776

Топикстартер
15 лет на форуме
Сообщения
746
Реакции
21
Постоянно приходится делать коррекцию фоток участников довольно массовых мероприятий. Пока смог из-под Инди просто открыть картинку в ФШ. Дальше руками делаю levels и curves (два осн. слоя для несложных корретировок). Но хотелось бы, чтобы и слои тоже создавались бы программно. Уже перегрузил голову и себе и ДипСику и ЖэПэТэ'у. В конце стал пробовать через экшен, так теперь экшн не запускается, типа "Фотошоп не может выполнить 'Play' ". И так, и так и никак. Если пробую через сам ФШ, то пишет типа "запрошенная функциональность может не поддерживаться вашей версией ФШ". Может кто-то знает, как создать кор. слой?
p.s. Есть экшн для открытия всех картинок из указанной папки и созданием им слоев levels и curves. Но это не всегда удобно, т.к. перегружается вся машинная начинка (и Инди вылетает или тормозит периодически от навешенных на него, беднягу, скриптов).
p.s.s. Нашел скрипт для ФШ "ParametricCurves.jsx" ((c) Davide Barranca, 2016), так ругается на синтакис. Ну не дают работать)))
 
Последнее редактирование:
А чё тогда не в тему про PS? ID то тут при чем? :)
 
В соседней ветке ищут Crop and resize
Я не помню, какой из них, умел выполнять экшены.
т.е. то, что вам надо.
ID то тут при чем?
Запускать указанную картинку (на обработку) из самой публикации
 
Может кто-то знает, как создать кор. слой?
Индизайн открывает картинку в фотошопе и через скрипт запускает экшн.
Вот почищенный от лишнего кусок моего кода.

JavaScript:
MyImage = selection [0];
        if (MyImage.constructor.name != "Image") {    
            MyImage = MyImage.graphics[0];
}
myPath = MyImage.itemLink.filePath.replace (/\\/g, "\\\\");
        MyImage.itemLink.editOriginal();
        // Запускаем фотошоп
        var bt = new BridgeTalk();
        bt.target = "photoshop";
        var myScript = AddBleed.toString() + '\r';
        myScript += 'AddBleed(\"' + myPath+'\"';
        myScript += ');';
        bt.body = myScript;   
        bt.send(100);
    }
}

function AddBleed (myPath) {
with (app) {
try {
var myPsDoc = open(new File(myPath));
with (myPsDoc) {

doAction("ИМЯ", "НАБОР");
}
}
catch (myError) {
}
}
}
 
  • Спасибо
Реакции: densen и hulk1776
Ну наконец-то заработало, спасибо большое!
правда с уточнением (для строгости, если запускать из Индизайна)
в строке MyImage = selection [0]; надо добавить app:
MyImage = app.selection [0];
 
Индизайн открывает картинку в фотошопе и через скрипт запускает экшн.
Вот почищенный от лишнего кусок моего кода.

JavaScript:
MyImage = selection [0];
        if (MyImage.constructor.name != "Image") {   
            MyImage = MyImage.graphics[0];
}
myPath = MyImage.itemLink.filePath.replace (/\\/g, "\\\\");
        MyImage.itemLink.editOriginal();
        // Запускаем фотошоп
        var bt = new BridgeTalk();
        bt.target = "photoshop";
        var myScript = AddBleed.toString() + '\r';
        myScript += 'AddBleed(\"' + myPath+'\"';
        myScript += ');';
        bt.body = myScript;  
        bt.send(100);
    }
}

function AddBleed (myPath) {
with (app) {
try {
var myPsDoc = open(new File(myPath));
with (myPsDoc) {

doAction("ИМЯ", "НАБОР");
}
}
catch (myError) {
}
}
}

Не по теме:
Вы генеративную "доливалку" писали, судя по коду?
 
а получилось до результата довести? Оно же лоурезно доливает, если размер области выделенной больше 1024, что ли пикселей.
 
а получилось до результата довести? Оно же лоурезно доливает, если размер области выделенной больше 1024, что ли пикселей.
Получилось. Доливаются вылеты. Их типография потом все равно или отрежет или загнет.