Постепенное изменение образца Indesign с помощью Extendscript (JavaScript)

#javascript #adobe-indesign #extendscript

#javascript #adobe-indesign #extendscript

Вопрос:

У меня есть документ InDesign с образцом под названием «mySwatch», который C10 M20 Y30 K40 . Я написал строку:

 app.activeDocument.colors.item("mySwatch").colorValue = [9,19,30,41];
  

чтобы изменить его на определенный набор значений ( 9,19,30,41 ), но я хотел бы вместо этого добавить или вычесть из существующих значений, скажем, [ -1 , -1 , unchanged , 1 ].

Возможно ли это?

Ответ №1:

Вам нужно будет получить значения, присвоив их новой переменной.

 var myvalues = app.activeDocument.colors.item("mySwatch").colorValue
  

Выполняйте свои операции с ними.

 myvalues[0] = myvalues[0] - 1
  

Переназначите их в свой образец.

 app.activeDocument.colors.item("mySwatch").colorValue = myvalues 
  

(Не тестировалось)

Ответ №2:

 function change_color(a, b) {
    return [a[0]  = b[0], a[1]  = b[1], a[2]  = b[2], a[3]  = b[3]];
}

var color  = app.activeDocument.colors.item("mySwatch").colorValue; // [10,20,30,40]
var change = [-1, -1,  0,  1];
app.activeDocument.colors.item("mySwatch").colorValue = change_color(color, change); // [9,19,30,41];
  

Проверено.