我对javascript非常陌生,我正在编写脚本以查找指定填充颜色的所有pathItem并将其更改为另一种填充颜色。必须在不使用色板的情况下以RGB或十六进制完成此操作。到目前为止,我已经把发现的其他脚本放在一起,但是遇到了很多错误。这是我到目前为止的内容:
var myDoc =app.activeDocument
var fillRGBColor = function (pathItem){
var fillColor = new Array();
fillColor[0] = myDoc.pathItem.fillColor.red;
fillColor[1] = myDoc.pathItem.fillColor.green;
fillColor[2] = myDoc.pathItem.fillColor.blue;
return fillColor;
}
fillRGBColor();
var pathItems = myDoc.pathItems;
for (i=0; i<pathItems.length; i++){
fillColor[255,255,255] ==fillColor[50,50,50];
}
谢谢!
最佳答案
我需要回答相同的问题,但是现有的答案不完整。这是一个完整的工作解决方案。您可以指定“从” RGB和“至” RGB颜色,并为需要更改的多种颜色调用fillRGBColor。
下一步是弄清楚如何自动化一个以上的插画文件的脚本:)
var fillRGBColor = function (pathItems, fr,fg,fb,tr,tg,tb){
for (var i=0; i < pathItems.length; i++) {
if (pathItems[i].fillColor.red == fr
&& pathItems[i].fillColor.green == fg
&& pathItems[i].fillColor.blue == fb) {
pathItems[i].fillColor.red = tr;
pathItems[i].fillColor.green = tg;
pathItems[i].fillColor.blue = tb;
}
}
}
fillRGBColor(app.activeDocument.pathItems, 20, 20, 20, 50, 50, 50);