使用 Extendscript 增量更改 Indesign 样本 (JavaScript)
Changing an Indesign Swatch incrementally with Extendscript (JavaScript)
我有一个 InDesign 文档,其中的色板名为 "mySwatch",即 C10 M20 Y30 K40
。我写了这行:
app.activeDocument.colors.item("mySwatch").colorValue = [9,19,30,41];
将其更改为一组特定的值 (9,19,30,41
),但我想从现有值中添加或减去,比方说 [-1
、-1
, unchanged
, +1
].
这可能吗?
您必须通过将值分配给新变量来获取这些值。
var myvalues = app.activeDocument.colors.item("mySwatch").colorValue
对它们进行操作。
myvalues[0] = myvalues[0] - 1
将它们重新分配给您的色板。
app.activeDocument.colors.item("mySwatch").colorValue = myvalues
(未测试)
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];
已测试。
我有一个 InDesign 文档,其中的色板名为 "mySwatch",即 C10 M20 Y30 K40
。我写了这行:
app.activeDocument.colors.item("mySwatch").colorValue = [9,19,30,41];
将其更改为一组特定的值 (9,19,30,41
),但我想从现有值中添加或减去,比方说 [-1
、-1
, unchanged
, +1
].
这可能吗?
您必须通过将值分配给新变量来获取这些值。
var myvalues = app.activeDocument.colors.item("mySwatch").colorValue
对它们进行操作。
myvalues[0] = myvalues[0] - 1
将它们重新分配给您的色板。
app.activeDocument.colors.item("mySwatch").colorValue = myvalues
(未测试)
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];
已测试。