有大佬能帮我修改下吗,不要对话,设置固定间距:10MM,列...
本帖最后由 A-Ming 于 2025-5-24 10:59 编辑有大佬能帮我修改下吗,不要对话框,设置固定间距:10MM,列数:10列
ar doc = activeDocument;
var selx = doc.selection;
if(selx.length ==0){alert("你必须选择对象来分布.");}
else{makeGrid(selx);}
function makeGrid(sel)
{
var objectsCentered = true;
if(objectsCentered){
var newGroup = app.activeDocument.groupItems.add();
}
var maxW = maxH = currentX = currentY= maxRowH = 0;
var absstring = prompt ("请分别输入分布间距和排列列数,并用英文逗号隔开 ——华印提示\n\n间距 , 列数 不输入为自动排列,间距0 (单位:mm) ","");
var artbs = absstring.split (",")
padding = artbs*2.8346;
if(artbs ==null){var gridCols =Math.round(Math.sqrt(sel.length)) ;}
else{
if(artbs ==0){var gridCols =Math.round(Math.sqrt(sel.length)) ;}
else{var gridCols = artbs ;}
}
for(var e=0, slen=sel.length;e<slen;e++)
{
if(objectsCentered){
// ::Add to group
sel.moveToBeginning( newGroup );
}
// :::SET POSITIONS:::
sel.top = currentY;
sel.left = currentX;
//:::DEFINE X POSITION:::
currentX += (sel.width + padding);
var itembottom = (sel.top-sel.height);
maxRowH = itembottom <maxRowH ? itembottom : maxRowH;
if((e % gridCols) == (gridCols - 1))
{
currentX = 0;
maxH =(maxRowH);
//:::DEFINE Y POSITION:::
currentY= maxH-padding;
maxRowH=0;
}
}
if(objectsCentered){
newGroup.top = -( doc.height/2) + newGroup.height/2;
newGroup.left = (doc.width/2)-newGroup.width/2;
// :::UNGROUP:::
var sLen=sel.length;
while(sLen--)
{
sel.moveToBeginning( doc.activeLayer );
}
}
}
有大佬能帮我修改下吗,不要对话框,设置固定间距:10MM,列数:10列 本帖最后由 snlsjw 于 2025-5-24 18:17 编辑
本帖最后由 snlsjw 于 2025-5-24 18:19 编辑
snlsjw 发表于 2025-5-24 18:11
padding 间距 gridCols 列数 snlsjw 发表于 2025-5-24 18:11
感谢大佬:handshake:handshake
页:
[1]