如何为Adobe Illustrator中JS创建的矩形指定Color Swatch/Spot Color并设置填充tint
如何为Adobe Illustrator中JS创建的矩形指定Color Swatch/Spot Color并设置填充tint
没问题,我来一步步帮你搞定这个需求~ 你已经用代码创建好矩形了,接下来只需要几个关键步骤就能给它指定目标专色色板并设置填充tint:
1. 先获取目标专色色板
首先你需要从文档的色板集合里找到名为My_Color_01的色板,AI的脚本API提供了直接通过名称获取色板的方法,非常方便:
var mySwatch = app.activeDocument.swatches.getByName("My_Color_01");
注意:色板名称是区分大小写的,一定要和你AI里的色板名称完全匹配,不然会报错哦。如果担心色板不存在导致脚本崩溃,可以加个简单的异常捕获:
var mySwatch; try { mySwatch = app.activeDocument.swatches.getByName("My_Color_01"); } catch(e) { alert("找不到名为My_Color_01的色板,请检查名称是否正确!"); }
2. 启用矩形填充并关联色板
接下来要确保你的矩形是启用填充状态,然后把填充颜色设置为刚才获取的专色色板:
// 启用矩形的填充属性 MyRect.filled = true; // 将填充颜色关联到目标专色色板 MyRect.fillColor = mySwatch.color;
3. 设置填充的tint值
专色的tint值范围是0到100(对应0%到100%的浓度),直接修改填充颜色的tint属性即可:
// 这里设置为50%的tint,你可以根据需求改成0-100之间的任意数值 MyRect.fillColor.tint = 50;
完整整合代码
把这些步骤和你原来的创建矩形代码整合到一起,就是完整的可运行脚本了:
// 你原来创建矩形的代码 var MyRect = artLayer.pathItems.rectangle(12, 22, 180, 180); // 获取目标专色色板 var mySwatch; try { mySwatch = app.activeDocument.swatches.getByName("My_Color_01"); } catch(e) { alert("找不到名为My_Color_01的色板,请检查名称是否正确!"); } // 配置填充及tint if (mySwatch) { MyRect.filled = true; MyRect.fillColor = mySwatch.color; MyRect.fillColor.tint = 50; // 自定义tint数值 }
最后再提个小提醒:只有当填充颜色是**专色(SpotColor)**的时候,tint属性才会生效,如果是普通的印刷色(CMYK/RGB等),设置tint是没有效果的哦。
备注:内容来源于stack exchange,提问作者Penumbra




