Cambiar una muestra de Indesign de forma incremental con Extendscript (JavaScript)

Sep 10 2020

Tengo un documento de InDesign con la muestra llamada "mySwatch" que es C10 M20 Y30 K40. He escrito la línea:

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

para cambiarlo a un conjunto específico de valores ( 9,19,30,41), pero me gustaría añadir o restar en lugar de los valores existentes, digamos [ -1, -1, unchanged, +1].

es posible?

Respuestas

fabianmoronzirfas Sep 11 2020 at 11:40

Tendrá que sacar los valores asignándolos a una nueva variable.

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

Realice sus operaciones en ellos.

myvalues[0] = myvalues[0] - 1

Reasignelos a su muestra.

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

(No probado)

YuriKhristich Sep 29 2020 at 21:06
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];

Probado.