การเปลี่ยน Indesign Swatch ทีละน้อยด้วย Extendscript (JavaScript)
Sep 10 2020
ฉันมีเอกสาร InDesign กับแถบที่มีชื่อ"mySwatch"C10 M20 Y30 K40ซึ่งเป็น ฉันเขียนบรรทัด:
app.activeDocument.colors.item("mySwatch").colorValue = [9,19,30,41];
จะเปลี่ยนเป็นชุดเฉพาะของค่า ( 9,19,30,41) แต่ผมอยากจะแทนที่จะเพิ่มหรือลบออกจากค่าที่มีอยู่ขอบอกว่า [ -1, -1, unchanged, +1]
เป็นไปได้หรือไม่?
คำตอบ
fabianmoronzirfas Sep 11 2020 at 11:40
คุณจะต้องดึงค่าออกมาโดยกำหนดให้กับตัวแปรใหม่
var myvalues = app.activeDocument.colors.item("mySwatch").colorValue
ดำเนินการกับพวกเขา
myvalues[0] = myvalues[0] - 1
กำหนดใหม่ให้กับแถบตัวอย่างของคุณ
app.activeDocument.colors.item("mySwatch").colorValue = myvalues
(ไม่ผ่านการทดสอบ)
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];
ทดสอบแล้ว.