Modifica incrementale di un campione Indesign con Extendscript (JavaScript)

Sep 10 2020

Ho un documento InDesign con il campione denominato "mySwatch" che è C10 M20 Y30 K40. Ho scritto la riga:

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

di cambiarlo in uno specifico insieme di valori ( 9,19,30,41), ma vorrei aggiungere o sottrarre invece dai valori attuali, diciamo [ -1, -1, unchanged, +1].

È possibile?

Risposte

fabianmoronzirfas Sep 11 2020 at 11:40

Dovrai ottenere i valori assegnandoli a una nuova variabile.

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

Fai le tue operazioni su di loro.

myvalues[0] = myvalues[0] - 1

Riassegnali al tuo campione.

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

(Non testato)

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];

Testato.