论坛帮助 |
社区圈子 |
日历事件 |
2023-12-15, 18:24 | #1 | ||
|
|||
正式会员
等级: 四袋长老
|
#target illustrator var myDoc = app.activeDocument; var theSelect = myDoc.selection; var pt=72/25.4; lmin=theSelect[0].geometricBounds[0]; tmax=theSelect[0].geometricBounds[1]; lmax=theSelect[0].geometricBounds[2]; tmin=theSelect[0].geometricBounds[3]; for (i=1;i<theSelect.length;i++){ if (lmin>theSelect[i].geometricBounds[0]){lmin=theSelect[i].geometricBounds[0]} if (tmax<theSelect[i].geometricBounds[1]){tmax=theSelect[i].geometricBounds[1]} if (lmax<theSelect[i].geometricBounds[2]){lmax=theSelect[i].geometricBounds[2]} if (tmin>theSelect[i].geometricBounds[3]){tmin=theSelect[i].geometricBounds[3]} } var m1=lmin; var n1=tmax; var m2=lmax; var n2=tmin; var b=Math.round(parseInt((m2-m1)/pt * 100)/100); var s=Math.round(parseInt((n1-n2)/pt * 100)/100); if(theSelect.length == 0){alert('请选取对象再运行脚本')} else{ for(var i=theSelect.length-1; i>=0; i--){ var selTem=theSelect[i].duplicate (theSelect[i], ElementPlacement.PLACEBEFORE); selTem.translate((b*pt),0); theSelect[i].selected=false; }} |
||
2023-12-15, 23:53 | 只看该作者 #4 | ||
|
|||
中级会员
等级: 六袋长老
|
这是opanai给的代码,简单直接。 代码:
#target illustrator // 检查是否有文档打开 if (app.documents.length > 0) { var doc = app.activeDocument; // 检查是否有对象被选中 if (doc.selection.length > 0) { var selectedObject = doc.selection[0]; // 获取对象的宽度 var width = selectedObject.width; // 创建对象的副本并平移 var duplicatedObject = selectedObject.duplicate(); duplicatedObject.translate(width, 0); alert("已向右平移并复制对象"); } else { alert("请先选择一个对象"); } } else { alert("请先打开一个文档"); } 另外,这只是个范例,获得准确的尺寸不是那么简单,移动对象更不是那么简单,resize缩放尺寸在illustrator的脚本中更是无解难题,玩玩可以,不经过几十上百遍地测试,直接用于工作,facebook....... |
||
右列会员因为此帖价值甚高向 aprking 表示感谢: |
yzx0120 (2023-12-16)
|