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

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 ("Обработка завершена")
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 195
Реакции
10 846
Во первых, код надо заключать в специальные теги иначе половина информации в нем рассыпется, что мы и видим на вашем примере
Во вторых, только я вижу в нижеприведенном фрагменте взаимоисключающие параграфы?
НО если перед запуском скрипта открыть любой JPG без встроенного профиля (предположим что это будет RGB) через какой-либо профиль и закрыть без сохранения, скрипт при работе все jpg-RGB без профиля будет открывать не через указанный профиль в скрипте, а через тот, что был указан при предыдущем открытии картинки.
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 861
Реакции
3 450

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 195
Реакции
10 846

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 195
Реакции
10 846

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 861
Реакции
3 450
Боюсь быть наказанным за этот ответ, но всё же посоветую ТС не мучить картинки таким скриптом. Программа вёрстки вполне умеет понимать встроенный профиль, а если нет, то назначать тот, что укажет пользователь в настройках.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 195
Реакции
10 846
Давай пока что попробуем добиться у топикстартера для чего ему вообще скрипт в данном случае понадобился
Возможно, какая то сакральная цель все таки присутствует
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 195
Реакции
10 846

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 861
Реакции
3 450
какая то сакральная цель все таки присутствует
Я догадываюсь зачем. И даже наблюдал таких верстунов лет 15-20 назад. Они первым делом открывают все входящие растры и пересохраняют в тиф без компрессии и без профиля. '))'
 

Nata-S

Участник
Топикстартер
Сообщения
9
Реакции
0
Во первых, код надо заключать в специальные теги
Данный код был собран из интернета и scripting guide, какими тегами нужно закрывать код, подскажите, пожалуйста, если не сложно
Во вторых, только я вижу в нижеприведенном фрагменте взаимоисключающие параграфы?
Перед запуском скрипта из любой папки открыть вручную картинку указав Assign profil. Мне нужно, чтобы скрипт игнорировал то, что указано при последнем открытии
 

Nata-S

Участник
Топикстартер
Сообщения
9
Реакции
0
Они первым делом открывают все входящие растры и пересохраняют в тиф без компрессии и без профиля. '))'
Да, jpg должен открыться, потом конвертнуться в другой профиль с компрессией и прописать его (профиль) в новом файле tif
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 195
Реакции
10 846
Данный код был собран из интернета и scripting guide, какими тегами нужно закрывать код, подскажите, пожалуйста, если не сложно
Это в форумном окне редактирования текста в шапке кнопочка
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 195
Реакции
10 846

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 861
Реакции
3 450

Nata-S

Участник
Топикстартер
Сообщения
9
Реакции
0
Есть разница в черном цвете, если открыть потом конвертнуть, и если в скрипте отказаться от открытия, а конвертнуть сразу. Tif на форум не грузится, показать не могу.
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 861
Реакции
3 450

Не по теме:
Вы бы книжку какую про управление цветом прочитали...
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 195
Реакции
10 846
Давайте все таки попробуем найти разумную нить в этом безумном треде
будет открывать не через указанный профиль в скрипте
Где именно в данном скрипте вы указываете профиль для открытия изображения?