我正在尝试绘制封闭的路径并用一些collor填充它。这里是代码
startRulerUnits = app.preferences.rulerUnits
startTypeUnits = app.preferences.typeUnits
startDisplayDialogs = app.displayDialogs
//change settings
app.preferences.rulerUnits = Units.PIXELS
app.preferences.typeUnits = TypeUnits.PIXELS
app.displayDialogs = DialogModes.NO
var AD = activeDocument;
var bBox = new Array();
bBox[0] = 10;
bBox[1] = 10;
bBox[2] = 50;
bBox[3] = 10;
bBox[4] = 50;
bBox[5] = 50;
bBox[6] = 10;
bBox[7] = 50;
var line = new Array();
line[0] = new PathPointInfo;
line[0].kind = PointKind.CORNERPOINT;
line[0].anchor = [bBox[0],bBox[1]];
line[0].leftDirection = line[0].anchor;
line[0].rightDirection = line[0].anchor;
line[1] = new PathPointInfo;
line[1].kind = PointKind.CORNERPOINT;
line[1].anchor = [bBox[2],bBox[3]];
line[1].leftDirection = line[1].anchor;
line[1].rightDirection = line[1].anchor;
line[2] = new PathPointInfo;
line[2].kind = PointKind.CORNERPOINT;
line[2].anchor = [bBox[4],bBox[5]];
line[2].leftDirection = line[2].anchor;
line[2].rightDirection = line[2].anchor;
line[3] = new PathPointInfo;
line[3].kind = PointKind.CORNERPOINT;
line[3].anchor = [bBox[6],bBox[7]];
line[3].leftDirection = line[3].anchor;
line[3].rightDirection = line[3].anchor;
var lineSubPath= new Array();
lineSubPath[0] = new SubPathInfo();
lineSubPath[0].operation = ShapeOperation.SHAPEXOR;
lineSubPath[0].closed = true;
lineSubPath[0].entireSubPath = line;
var path = AD.pathItems.add("A", lineSubPath);
//var paperShape = AD.artLayers.add();
var colorRef = new SolidColor;
colorRef.rgb.red = 255
colorRef.rgb.green = 100;
colorRef.rgb.blue = 10;
path.fillPath(colorRef, ColorBlendMode.COLOR,100,true,0,true,true);
//shapeLayer.applyStyle("ransom_note");*/
app.preferences.rulerunits = startRulerUnits
app.preferences.typeunits = startTypeUnits
app.displayDialogs = startDisplayDialogs
绘制路径,但填充时出现错误
fillPath不是函数。
有人可以帮忙吗?
P.S。对不起我的英文
答案 0 :(得分:1)
path
是Application
的属性,当您尝试将fillPath
应用于它时,Photoshop无法理解,即使您已将其声明为变量名称...您只是让Photoshop对该怎么做感到困惑。
您只需将该变量名称更改为myPath
,然后myPath.fillPath(colorRef, ColorBlendMode.COLOR,100,true,0,true,true);
即可。
我也会对ColorBlendMode
进行一些更改,如果将其设置为COLOR
,您将无法真正看到正在应用的颜色,而且看起来似乎是脚本根本不工作。
试试myPath.fillPath(colorRef, ColorBlendMode.NORMAL,100,true,0,true,true);
,你就完成了!