- 精华
- 活跃值
-
- 积分
- 1284
- 违规
-
- 印币
-
- 鲜花值
-
- 在线时间
- 小时
累计签到:415 天 连续签到:1 天
|
本帖最后由 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[0]*2.8346;
if(artbs[1] ==null){var gridCols = Math.round(Math.sqrt(sel.length)) ;}
else{
if(artbs[1] ==0){var gridCols = Math.round(Math.sqrt(sel.length)) ;}
else{var gridCols = artbs[1] ;}
}
for(var e=0, slen=sel.length;e<slen;e++)
{
if(objectsCentered){
// ::Add to group
sel[e].moveToBeginning( newGroup );
}
// :::SET POSITIONS:::
sel[e].top = currentY;
sel[e].left = currentX;
// :: EFINE X POSITION:::
currentX += (sel[e].width + padding);
var itembottom = (sel[e].top-sel[e].height);
maxRowH = itembottom < maxRowH ? itembottom : maxRowH;
if((e % gridCols) == (gridCols - 1))
{
currentX = 0;
maxH = (maxRowH);
// :: EFINE 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[sLen].moveToBeginning( doc.activeLayer );
}
}
}
|
|