如何用颜色填充路径项

时间:2011-07-28 10:40:43

标签: javascript photoshop-script

我正在尝试绘制封闭的路径并用一些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。对不起我的英文

1 个答案:

答案 0 :(得分:1)

pathApplication的属性,当您尝试将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);,你就完成了!