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

  • Автор темы Автор темы Nata-S
  • Дата начала Дата начала
Порядок работы скрипта:
1. запрос на папку из которой берутся все jpg
2. запрос на папку куда будут сохраняться обработанные файлы
3. берется из папки jpg проверяется на наличие встроенного профиля
4. если есть встроенный профиль файл открывается со свойствами встроенного профиля, в противном случае проверяется цветовое пространство в случае если CMYK файл открывается со свойствами одного профиля, в случае RGB со свойствами другого профиля, в случае с GREY со свойствами третьего профиля.
5. проверяется цветовой профиль и в зависимости от значения работает resizeImage и конвертация в определенный профиль с заменой цветового пространства (в случае с RGB)
6. файл сохраняется в формате tif с присвоенным (встроенным) новым профилем в указанную папку в пункте 2.

Ошибка происходит, когда перед запуском скрипта выполнены действия:
1. вручную открывается любой jpg без встроенного профиля допустим CMYK
2. в появившемся окне "Missing Profile" выбрать пункт Assign profile и указать любой профиль отличный от тех, что указаны в скрипте. Нажать ОК
3. закрыть файл без сохранения

Порядок работы скрипта, когда выполнены действия после которых происходит ошибка:
1. - 3. проходят в штатном порядке
4. если профиль встроен - файл открывается со свойствами встроенного профиля, если встроенного профиля нет, то RGB открывается со свойствами профиля указанного в скрипте, CMYK открывается со свойствами профиля указанного в окне "Missing Profile" в пункте Assign profile, GREY открывается со свойствами профиля указанного в скрипте.
5. - 6. проходят в штатном порядке
 
Где именно в данном скрипте вы указываете профиль для открытия изображения?
Код:
else {
            if (doc.mode.toString() == DocumentMode.CMYK) {
                doc.colorProfileName = "ISO Coated v2 (ECI)";
                              }   
            if (doc.mode.toString() == DocumentMode.RGB) {
                doc.colorProfileName = "ARRI WCG Preview LUT for P3";
                               }
            if (doc.mode.toString() == DocumentMode.GRAYSCALE) {
                doc.colorProfileName ="Dot Gain 20%";
                            }
 
в противном случае проверяется цветовое пространство в случае если CMYK файл открывается со свойствами одного профиля, в случае RGB со свойствами другого профиля, в случае с GREY со свойствами третьего профиля.
Вот этот момент поясните пожалуйста. "одного-второго-третьего" это все где?
 
Код:
else {
            if (doc.mode.toString() == DocumentMode.CMYK) {
                doc.colorProfileName = "ISO Coated v2 (ECI)";
                              }  
            if (doc.mode.toString() == DocumentMode.RGB) {
                doc.colorProfileName = "ARRI WCG Preview LUT for P3";
                               }
            if (doc.mode.toString() == DocumentMode.GRAYSCALE) {
                doc.colorProfileName ="Dot Gain 20%";
                            }
Нет
Документ уже открыт
 
Я поясню, кроме jpg этот скрипт в дальнейшем должен будет ещё обрабатывать tif, psd и png по тому же пути что и jpg, только png будет обрабатываться по другому. В одной папке может находиться более 300 картинок разного формата и свойств, а в итоге должно получиться только tif и psd, все 300dpi без изменения размера и потери качества со одним из двух встроенных профилей. В выложенном скрипте сознательно были взяты стандартные профили, т. к. у нас используются свои, и ни у кого тогда скрипт не заработает.
 
И никак
В выложенном скрипте сознательно были взяты стандартные профили, т. к. у нас используются свои, и ни у кого тогда скрипт не заработает.
Вы вероятно не поняли что мы пытаемся вам донести.
Когда фотошоп открывает изображение он должен какой то профиль использовать (или не использовать) при загрузке изображения. В методе open насколько я понимаю, указать это в явном виде нельзя. Шах и мат
 
  • Спасибо
Реакции: Nata-S
И никак

Вы вероятно не поняли что мы пытаемся вам донести.
Когда фотошоп открывает изображение он должен какой то профиль использовать (или не использовать) при загрузке изображения. В методе open насколько я понимаю, указать это в явном виде нельзя. Шах и мат
Большое спасибо! Теперь я знаю в каком месте копать!
 
Будет присвоен умолчательный.
Это я и имел в виду.
Выход из данного затруднения - 1) нетрадиционноректальный. перед каждым открытием файла без профиля (что еще определить надо) открывать скриптом файл с нужным профилем и закрывать 2) прямой - использовать вместо неуклюжего тормозного фотошопа специально обученные быстрые инструменты
 
Я имею ввиду в скрипте
 
Достаточно указать нужные профили в дефолтных настройках фотошопа.
Ты уверен, что поможет?
Топикстартер говорит что они перебиваются при открытии файлов
Ошибка происходит, когда перед запуском скрипта выполнены действия:
1. вручную открывается любой jpg без встроенного профиля допустим CMYK
2. в появившемся окне "Missing Profile" выбрать пункт Assign profile и указать любой профиль отличный от тех, что указаны в скрипте. Нажать ОК
3. закрыть файл без сохранения