论坛帮助 |
社区圈子 |
日历事件 |
2019-04-28, 11:43 | 只看该作者 #2 | ||
|
|||
java爱好者
等级: 六袋长老
|
var doc = app.activeDocument; var selections=doc.selection; var s =selections[0]; var pwidth=s.width; var pheight=s.height; var redColor=getCmykColor(0,100,100,0); //第一步 first2(s,redColor); //第二步 var s2=second2(s); //第三步 var falg=three1(s,pwidth,pheight); //第四步 four1(s2,falg); //first1(selections[0],22*pt,55*pt,redColor); //second1(selections[0],40,40); //1:选择外框,设置外框参数 function first1(s,width,height,redColor){ //s.strokeColor=redColor; var widthb=s.width; var heightb=s.height; s.width=width; s.height=height; var widthf=s.width; var heightf=s.height; s.left=s.left+(widthb-widthf)/2; s.top=s.top-(heightb-heightf)/2; return s; } //1:选择外框,设置外框参数 function first2(s,redColor){ var pt=72/25.4; var str=prompt("请输入依次输入宽度与高度,用空格分开","22 55"); var width=str.split(" ")[0]*pt; var height=str.split(" ")[1]*pt; //s.strokeColor=redColor; var widthb=s.width; var heightb=s.height; s.width=width; s.height=height; s.left=s.left+(widthb-width)/2; s.top=s.top-(heightb-height)/2; return s; } //2:缩小比列 function second1(s,v,h){ var width=s.width; var height=s.height; s.width*=(v/100); s.height*=(h/100); var widthf=s.width; var heightf=s.height; s.left=s.left+(width-widthf)/2; s.top=s.top-(height-heightf)/2; return s; } //2:缩小比列 function second2(s){ var str=prompt("请输入依次输入横向与竖向百分比,用空格分开","100 91.71"); var v=str.split(" ")[0]; var h=str.split(" ")[1]; var width=s.width; var height=s.height; s.width*=(v/100); s.height*=(h/100); var widthf=s.width; var heightf=s.height; s.left=s.left+(width-widthf)/2; s.top=s.top-(height-heightf)/2; return s; } //3:复制 function three1(s,pwidth,pheight){ var width=s.width; var height=s.height; var s1; var falg=false; if(width!=pwidth){ s1=s.duplicate() s1.left=s1.left+width; falg=true; }else{ s1=s.duplicate(); s1.top=s1.top-height; } return falg; } //4:添加文字 function four1(s2,falg){ var x=s2.left; var y=s2.top; var h=s2.height; var w=s2.width; var text1=doc.textFrames.add(); text1.contents=doc.name; text1.textRange.characterAttributes.textFont=textFonts.getByName("MicrosoftYaHei"); text1.textRange.characterAttributes.size=8; //字体大小 text1.left=x; text1.top=y+text1.height+2*pt; var text2=doc.textFrames.add(); text2.textRange.characterAttributes.textFont=textFonts.getByName("ArialMT"); text2.textRange.characterAttributes.size=4; //字体大小 text2.left=x+w-text2.width; text2.top=y+text2.height+2*pt; if(falg){ text2.contents=keepTwoDecimal(w*2/pt); text2.left=x+w*2-text2.width; }else{ text2.contents=keepTwoDecimal(h*2/pt); text2.left=x+w-text2.width; } } function keepTwoDecimal(num) { var result = parseFloat(num); if (isNaN(result)) { alert('传递参数错误,请检查!'); return false; } result = Math.round(num * 100) / 100; return result; } function getCmykColor(c,m,y,k){ newCMYKColor = new CMYKColor(); newCMYKColor.black = k; newCMYKColor.cyan = c; newCMYKColor.magenta = m; newCMYKColor.yellow = y; return newCMYKColor; } 此帖于 2019-04-28 11:44 被 jialan75 编辑. 原因: 为什么那么复杂? |
||
2019-04-29, 10:09 | 只看该作者 #3 | ||
|
|||
正式会员
等级: 三袋长老
|
引用:
1:可否设置在调整外框尺寸后,默认将内容与外框群组,再进行比例缩放? 2:因不是每次都是复制2次,可否将相关工具整合成一个面板中,自行进行相关数据设置(如下图)? 谢谢 |
||