如何在Adobe CC脚本中使用十六进制代码设置defaultFillColor
Adobe CC脚本:用十六进制颜色代码设置填充色
Adobe脚本API不支持直接将十六进制字符串赋值给defaultFillColor,你需要先把十六进制颜色值转换成对应的RGBColor对象。可以写一个简单的转换函数来实现这个需求:
// 把十六进制颜色字符串转成RGBColor对象 function hexToRGBColor(hex) { // 移除字符串开头可能存在的#号 hex = hex.replace(/^#/, ''); // 拆分出红、绿、蓝分量并转成十进制数值 const red = parseInt(hex.slice(0, 2), 16); const green = parseInt(hex.slice(2, 4), 16); const blue = parseInt(hex.slice(4, 6), 16); // 创建RGBColor实例并赋值 const rgbColor = new RGBColor(); rgbColor.red = red; rgbColor.green = green; rgbColor.blue = blue; return rgbColor; }
之后直接调用这个函数就能用十六进制代码设置填充色了:
// 替换成你的十六进制颜色代码 const targetHex = "64FF64"; app.activeDocument.defaultFillColor = hexToRGBColor(targetHex);
额外说明
- 这个函数兼容带
#和不带#的十六进制格式(比如"#64FF64"也能正常转换) - 如果你的文档是CMYK颜色模式,需要把函数改成返回
CMYKColor对象,对应调整分量赋值逻辑即可
内容的提问来源于stack exchange,提问作者Ralf_Reddings
相关产品推荐
相关产品推荐

