Я хочу создать втулку в фотошопе с помощью этого скрипта, но при запуске этого скрипта в фотошопе я получаю сообщение об ошибке:
Error: undefined is not an object line 63 ( grommetMarkL = printMarksLayer.pathItems.ellipse( -(spacingY), spacingX,
grommetSize, grommetSize );).
Пожалуйста, помогите мне, я слишком старался решить эту проблемуно я не решил эту ошибку.
#target Photoshop
if (app.documents.length > 0){
var idoc = app.activeDocument;
var dwidth = app.activeDocument.width;
var dheight = app.activeDocument.height;
//grommet by default
var grommetbydefault=36;
// Grommets
var grommetSize = 14.4; // .375 in.
var grommetMargin = 72; // .7 in.
// var grommetSpacing = 576; // 8 in.
var grommetSpacing = grommetbydefault;
var grommetMarkFillColor = new RGBColor();
grommetMarkFillColor.red = 0;
grommetMarkFillColor.green = 0;
grommetMarkFillColor.blue = 0;
var grommetMarkStrokeColor = new RGBColor();0
grommetMarkStrokeColor.red = 255;
grommetMarkStrokeColor.green = 255;
grommetMarkStrokeColor.blue = 255;
var sideGrommets = confirm('Hello Tahir do you want side grommets?')
// Get artboard sizing
// var artBoardSize = myDoc.artboards;
// var width = artBoardSize[0].artboardRect[2];
// var height = artBoardSize[0].artboardRect[3];
// Get document sizing
// Styling
var noColor = new NoColor();
var black = new CMYKColor();
black.black = 100;
var white = new CMYKColor();
white.black = 0;
/* Functions */
function calcSpacing(){
areaX = (Math.abs(dwidth) - grommetSize) - (grommetMargin * 2);
areaY = (Math.abs(dheight) - grommetSize) - (grommetMargin * 2);
noOfGrommetX = Math.round(areaX / grommetSpacing);
noOfGrommetY = Math.round(areaY / grommetSpacing);
spaceBetweenGrommetsX = areaX / noOfGrommetX;
spaceBetweenGrommetsY = areaY / noOfGrommetY;
}
if (grommetSpacing === "about"){
alert("Grommetize " + grommetizeVersion + ". hello Tahir");
} else if (grommetSpacing != null && grommetSpacing != 0) {
grommetSpacing *= 72;
if (grommetSpacing === parseInt(grommetSpacing, 10)) {
// Create template layer
var printMarksLayer = idoc.artLayers.add();
printMarksLayer.name = "Grommets";
function createGrommets(){
calcSpacing();
var spacingX = grommetMargin;
var spacingY = grommetMargin;
for (i = 0; i < noOfGrommetX + 1; i++) { // Top & Bottom Grommets
grommetMarkT = printMarksLayer.pathItems.ellipse( -(spacingY), spacingX,
grommetSize, grommetSize );
grommetMarkT.fillColor = grommetMarkFillColor;
grommetMarkT.strokeColor = grommetMarkStrokeColor;
grommetMarkT.strokeWidth = "1";
grommetMarkB = printMarksLayer.pathItems.ellipse( -(spacingY + areaY),
spacingX, grommetSize, grommetSize );
grommetMarkB.fillColor = grommetMarkFillColor;
grommetMarkB.strokeColor = grommetMarkStrokeColor;
grommetMarkB.strokeWidth = "1";
spacingX += spaceBetweenGrommetsX;
}
spacingX = grommetMargin;
spacingY = grommetMargin + spaceBetweenGrommetsY;
if (sideGrommets == true) {
for (i = 0; i < noOfGrommetY - 1; i++)
{ // Left & Right Grommets
grommetMarkL = printMarksLayer.pathItems.ellipse( -(spacingY), spacingX,
grommetSize, grommetSize ); //error is here
grommetMarkL.fillColor = grommetMarkFillColor;
grommetMarkL.strokeColor = grommetMarkStrokeColor;
grommetMarkL.strokeWidth = "1";
grommetMarkR = printMarksLayer.pathItems.ellipse( -(spacingY), spacingX +
areaX, grommetSize, grommetSize );
grommetMarkR.fillColor = grommetMarkFillColor;
grommetMarkR.strokeColor = grommetMarkStrokeColor;
grommetMarkR.strokeWidth = "1";
spacingY += spaceBetweenGrommetsY;
}
}
}
createGrommets();
function createProductionGuides(){
innerGuide=null,
innerGuide = idoc.pathItems.rectangle(0,0,dwidth,dheight);
innerGuide.fillColor = noColor;
innerGuide.strokeColor = black;
innerGuide.strokeWidth = ".5";
innerGuide.strokeDashes = [];
outterGuide=null,
outterGuide = idoc.pathItems.rectangle(0 + 72,0 - 72,dwidth + (72 * 2),dheight + (72 * 2));
outterGuide.fillColor = noColor;
outterGuide.strokeColor = black;
outterGuide.strokeWidth = ".5";
outterGuide.strokeDashes = [];
}
createProductionGuides();
// Lock Template Layer
printMarksLayer.locked = true;
printMarksLayer.printable = true;
} else {
alert("Hello Tahir Please input a valid numeric entry for grommet spacing.\nMust be a value greater than 0.")
}
} else if (grommetSpacing != null || grommetSpacing != ''){
// Do nothing.
} else {
alert("Hello Tahir Please enter a valid entry.")
}
}
else{
alert ("there are no open documents");
}