2

我正在尝试绘制封闭路径并用一些颜色填充它。这里的代码

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 不是函数。

有人可以帮忙吗?

PS对不起我的英语

4

1 回答 1

1

path是 的属性Application,当您尝试应用它时,Photoshop 不理解fillPath,即使您已将其声明为变量名……您只会让 Photoshop 对要做什么感到困惑。

您应该简单地将变量名称更改为类似的名称myPath,然后myPath.fillPath(colorRef, ColorBlendMode.COLOR,100,true,0,true,true);就可以了。

我还会在 中进行一些更改ColorBlendMode,如果您将其设置为,COLOR您将无法实际看到您正在应用的颜色,并且脚本似乎根本不起作用。

尝试一下myPath.fillPath(colorRef, ColorBlendMode.NORMAL,100,true,0,true,true);,你就完成了!

于 2012-02-09T00:43:47.473 回答