[PS CS4-CS6] Скрипт открывающий картинку в определенном профиле

  • Автор темы Автор темы Nata-S
  • Дата начала Дата начала

Nata-S

Участник
Топикстартер
Сообщения
9
Реакции
0
Доброго всем дня!

Помогите, пожалуйста! Буду благодарна за любой совет! Я не умею писать скрипты, но нужда заставляет)))

Есть скрипт, который из указанной папки все JPG открывает с условием, если есть встроенный профиль, то открывает в нем, если нет, то в определенном в зависимости от цветового пространства, потом ресайдит, конвертирует и сохраняет в tif. На первый взгляд скрипт работает правильно, на большом объеме не проверяла, НО если перед запуском скрипта открыть любой JPG без встроенного профиля (предположим что это будет RGB) через какой-либо профиль и закрыть без сохранения, скрипт при работе все jpg-RGB без профиля будет открывать не через указанный профиль в скрипте, а через тот, что был указан при предыдущем открытии картинки.

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

Код скрипта:

#target photoshop

var inputFolder = Folder.selectDialog("Откуда брать картинки");
var outFolder = Folder.selectDialog("Куда складывать картинки");

// FOLDERS
var folder1 = inputFolder;
var saveFolder = outFolder;
displayDialogs = DialogModes.NO;


if (searchMask = '*.jpg') {
var list1 = folder1.getFiles(searchMask);
var tifOptions = new TiffSaveOptions();
tifOptions.layers = true;
embedColorProfile = true;

for (var i = 0; i < list1.length; i++) {
var doc = open(list1);
var docName = doc.name;

obrtabotka()

// SAVING
doc.saveAs(new File(saveFolder + '/' + docName.split('.')[0] + '.tif'), tifOptions);
doc.close(SaveOptions.SAVECHANGES);

}
}

function obrtabotka(){

if(doc.colorProfileType != ColorProfile.NONE) {
alert (app.activeDocument.colorProfileName)
}
else {
if (doc.mode.toString() == DocumentMode.CMYK) {
doc.colorProfileName = "ISO Coated v2 (ECI)";
alert (app.activeDocument.colorProfileName);
}
if (doc.mode.toString() == DocumentMode.RGB) {
doc.colorProfileName = "ARRI WCG Preview LUT for P3";
alert (app.activeDocument.colorProfileName);
}
if (doc.mode.toString() == DocumentMode.GRAYSCALE) {
doc.colorProfileName ="Dot Gain 20%";
alert (app.activeDocument.colorProfileName);
}
}

if (doc.mode.toString() == DocumentMode.CMYK) {
doc.resizeImage(undefined, undefined, 300, ResampleMethod.NONE);
doc.convertProfile("Japan Color 2001 Coated", Intent.RELATIVECOLORIMETRIC, true);
}
if (doc.mode.toString() == DocumentMode.RGB) {
doc.resizeImage(undefined, undefined, 300, ResampleMethod.NONE);
doc.convertProfile("Japan Color 2001 Coated", Intent.RELATIVECOLORIMETRIC, true);
}
if (doc.mode.toString() == DocumentMode.GRAYSCALE) {
doc.resizeImage(undefined, undefined, 300, ResampleMethod.NONE);
doc.convertProfile("Dot Gain 30%", Intent.PERCEPTUAL, false);
}
}
alert ("Обработка завершена")
 
Во первых, код надо заключать в специальные теги иначе половина информации в нем рассыпется, что мы и видим на вашем примере
Во вторых, только я вижу в нижеприведенном фрагменте взаимоисключающие параграфы?
НО если перед запуском скрипта открыть любой JPG без встроенного профиля (предположим что это будет RGB) через какой-либо профиль и закрыть без сохранения, скрипт при работе все jpg-RGB без профиля будет открывать не через указанный профиль в скрипте, а через тот, что был указан при предыдущем открытии картинки.
 
Боюсь быть наказанным за этот ответ, но всё же посоветую ТС не мучить картинки таким скриптом. Программа вёрстки вполне умеет понимать встроенный профиль, а если нет, то назначать тот, что укажет пользователь в настройках.
 
Давай пока что попробуем добиться у топикстартера для чего ему вообще скрипт в данном случае понадобился
Возможно, какая то сакральная цель все таки присутствует
 
какая то сакральная цель все таки присутствует
Я догадываюсь зачем. И даже наблюдал таких верстунов лет 15-20 назад. Они первым делом открывают все входящие растры и пересохраняют в тиф без компрессии и без профиля. :))
 
Во первых, код надо заключать в специальные теги
Данный код был собран из интернета и scripting guide, какими тегами нужно закрывать код, подскажите, пожалуйста, если не сложно
Во вторых, только я вижу в нижеприведенном фрагменте взаимоисключающие параграфы?
Перед запуском скрипта из любой папки открыть вручную картинку указав Assign profil. Мне нужно, чтобы скрипт игнорировал то, что указано при последнем открытии
 
Они первым делом открывают все входящие растры и пересохраняют в тиф без компрессии и без профиля. '))'
Да, jpg должен открыться, потом конвертнуться в другой профиль с компрессией и прописать его (профиль) в новом файле tif
 
Данный код был собран из интернета и scripting guide, какими тегами нужно закрывать код, подскажите, пожалуйста, если не сложно
Это в форумном окне редактирования текста в шапке кнопочка
 
Есть разница в черном цвете, если открыть потом конвертнуть, и если в скрипте отказаться от открытия, а конвертнуть сразу. Tif на форум не грузится, показать не могу.
 

Не по теме:
Вы бы книжку какую про управление цветом прочитали...
 
Давайте все таки попробуем найти разумную нить в этом безумном треде
будет открывать не через указанный профиль в скрипте
Где именно в данном скрипте вы указываете профиль для открытия изображения?