Scripting и цвета PANTONE

  • Автор темы Автор темы _MBK_
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

_MBK_

Пикирующий бомбардировщик
Топикстартер
15 лет на форуме
Сообщения
33 703
Реакции
11 005
Адоба не устает преподносить сюрпризы.
Выбираю любой библиотечный цвет из палитры PANTONE, пытаюсь посмотреть содержимое объекта SolidColor - а вот фигушки, любое обращение к нему вызывает ошибку "Данная версия Scripting support не поддерживает заказные цвета, например цвета PANTONE" Причем, судя по всему, затык глухой, в интернете на буржуйских сайтах решения так и не нашел, хотя вопросы задавали. Неужели нет какого-то обходного способа посмотреть из скрипта цвет, заданный подобным образом?
 
что за объект такой SolidColor, и что за содержимое у него надо посмотреть?

и как Pantone этот идет, отдельным каналом, или в обычном RGB/CMYK документе?
 
Последнее редактирование:
Если уж совсем конкретно - это цвет спотового канала. Если задавать его обычным пикером, все нормально, доступ к компонентам есть. А вот если выбирать из пантоновской палитры - беда.
 
то, что записывается в ScriptListener.log не помогает? типа там

Код:
var idMk = charIDToTypeID( "Mk  " );
    var desc209 = new ActionDescriptor();
    var idNw = charIDToTypeID( "Nw  " );
        var desc210 = new ActionDescriptor();
        var idNm = charIDToTypeID( "Nm  " );
        desc210.putString( idNm, """PANTONE P 34-6 U""" );
        var idClr = charIDToTypeID( "Clr " );
            var desc211 = new ActionDescriptor();
            var idBk = charIDToTypeID( "Bk  " );
            desc211.putString( idBk, """PANTONE+¨ CMYK Uncoated""" );
            var idNm = charIDToTypeID( "Nm  " );
            desc211.putString( idNm, """PANTONE P 34-6 U""" );
            var idbookID = stringIDToTypeID( "bookID" );
            desc211.putInteger( idbookID, 3063 );
            var idbookKey = stringIDToTypeID( "bookKey" );
            desc211.putData( idbookKey, String.fromCharCode( 48, 48, 51, 52, 88, 54 ) );
        var idBkCl = charIDToTypeID( "BkCl" );
        desc210.putObject( idClr, idBkCl, desc211 );
        var idOpct = charIDToTypeID( "Opct" );
        desc210.putInteger( idOpct, 0 );
    var idSCch = charIDToTypeID( "SCch" );
    desc209.putObject( idNw, idSCch, desc210 );
executeAction( idMk, desc209, DialogModes.NO );
 
Нет, на самом деле, задача стоит обратная - не создать спотовый канал цветом пантона, а прочитать цвет уже имеющегося канала. Ладно б-г с каналом, упростим задачу. Допустим, нам надо прочитать цвет установленного в фотошопе текущего цвета: alert(app.foregroundColor); Если цвет фореграунда выбирается пикером, все замечательно, выдается сообщение [SolidColor]. Но если цвет выбирается из библиотеки - все, вышеназванная ошибка и посмотреть этот цвет непонятно как. 'otbline'
 
ну как бы да

Channel.color
Data Type: SolidColor
Adobe Photoshop CC 2014 Object Library
The color of the channel. Not valid for component channels.

разве что на имя канала ориентироваться )
 
На имя канала ориентироваться - совсем уж печальный вариант. Во-первых, работает только для канала, а во-вторых, это ж придется держать в скрипте массив описаний всевозможных библиотечных цветов! У меня про запас есть, конечно, чуть менее заднепроходный вариант - заполнять этим цветом область, а потом сэмплером мерять, но все ж надеялся, что существует какой то более кошерный... :(
 
Статус
Закрыто для дальнейших ответов.