论坛帮助 |
社区圈子 |
日历事件 |
2018-09-29, 12:05 | 只看该作者 #2 | ||
|
|||
java爱好者
等级: 六袋长老
|
var sels = doc.selection;//不用理解抄就是了 var group=doc.groupItems.add();//为了群组 var pt=72/25.4;//转换成毫米用的 var lineWidth=0.1*pt;//线条的宽度为0.1mm //这是你选择的矩形的位置 因为你画的那些脚线都是围绕他的 var left=sels[0].geometricBounds[0]/pt;//左边的极限坐标 需要理解 var right=sels[0].geometricBounds[2]/pt;//右边的极限坐标 需要理解 var top=sels[0].geometricBounds[1]/pt;//顶边的极限坐标 需要理解 var bottom=sels[0].geometricBounds[3]/pt;//底边的极限坐标 需要理解 var x,y,x1,y1;//定义两个点的坐标 //学会下面2个技能就能 做你这个产品了 //第一个画线条 //第二个画矩形 //举了5个例子 不知道能不能帮到你 //这是列子 画一条线 x=200;y=200;x1=30;y1=30; //这里的值需要你改变 addline(x,y,x1,y1); //这是列子画 一个矩形 x=100;y=200;x1=30;y1=30; //这里的值需要你改变 addRect(x,y,x1,y1); //再举个例子 画一个5x2.5的矩形 x=0;y=0;x1=5;y1=2.5; //这里的值需要你改变 addRect(x,y,x1,y1); //再举个例子 画一条线条 // 距离所选矩形 // 左上3毫米 // 线条长度5毫米 x=left-3-5;y=top;x1=left-3;y1=top; //这里的值需要你改变 addline(x,y,x1,y1); //再举个例子 // 画一个矩形 // 距离所选矩形右上3毫米 // 长度5毫米宽度2.5mm x=right+3;y=top;x1=5;y1=2.5; //这里的值需要你改变 addRect(x,y,x1,y1); //下面这些你可以不用看 没啥用 //目的是画一个矩形 描述一个矩形用 一个点与一个尺寸 绝对坐标表示即可 点1 x,y 宽度w,高度h //里面的过程可以不用理解 function addRect(x,y,w,h){// var pt=72/25.4; var rect=group.pathItems.rectangle (y*pt ,x*pt,w*pt, h*pt); rect.strokeColor=NoColor;//描边改为无色 rect.strokeWidth=0;//描边宽度为0 rect.fillColor=getRegColor();//填充色为注册色 } //目的是画一条线条 描述一个线条 用两个 绝对坐标表示即可 点1 x,y 点2 x1,y1 //里面的过程可以不用理解 function addline(x,y,x1,y1){// var pt=72/25.4; var line=group.pathItems.add(); line.setEntirePath (Array( Array(x*pt,y*pt), Array(x1*pt,y1*pt) )); line.strokeColor=getRegColor();//描边色为注册色 line.strokeWidth=lineWidth;//描边宽度为0.1mm line.fillColor=NoColor;//填充色为无 } //目的就是获取注册色 //里面的过程可以不用理解 function getRegColor(){//返回一个Color对象 var docRef = app.activeDocument;//不用理解抄就是了 var newSpot = docRef.swatches; // 寻找注册色代码段 for(var i=0;i<newSpot.length;i++){ var swatch1 = docRef.swatches[i]; if(swatch1.color=='[SpotColor]'){ var spot2 = swatch1.color.spot; var colorType2 = spot2.colorType; if(colorType2.toString()== "ColorModel.REGISTRATION") { regColorIndex=i; } }else{ continue; } } return docRef.swatches[regColorIndex].color; } |
||
2018-09-29, 16:38 | 只看该作者 #4 | ||
|
|||
一品巡查使
等级: 八袋长老
|
引用:
追加下,请问画个圆 怎么表达
__________________
广告位招租~~~~~~ |
||
2018-09-29, 19:00 | 只看该作者 #7 | ||
|
|||
java爱好者
等级: 六袋长老
|
// 画一个圆 // 距离所选矩形左下角 // 长度5毫米宽度2.5mm x=left;y=bottom;r=3; //这里的值需要你改变 addEllipse(x,y,r); //再举个例子 // 写一个文字 // 距离所选矩形中心 //字体:微软雅黑 //字号:12 pt //颜色:红色 //内容:我爱你家 x=left+(right-left)/2;y=top-(top-bottom)/2; //这里的值需要你改变 var content="我爱你家"; var font="MicrosoftYaHei"; var size=12; var color=getCMYKColor(0,100,100,0); addText(x,y,content,font,size,color); //目的是画一个椭圆 描述一个椭圆用 一个点与圆的半径 绝对坐标表示即可 点1 x,y ,半径r //里面的过程可以不用理解 function addEllipse(x,y,r){// var pt=72/25.4; var ellipse=group.pathItems.ellipse (y*pt ,x*pt,r*pt,r*pt); ellipse.strokeColor=NoColor;//描边改为无色 ellipse.strokeWidth=0;//描边宽度为0 ellipse.fillColor=getRegColor();//填充色为注册色 } //目的是写一串文本 描述一个文本:坐标x,y 文本内容content ,文本字体font,文本字体大小size,文本颜色color //里面的过程可以不用理解 function addText(x,y,content,font,size,color){// var pt=72/25.4; var text = group.textFrames.add(); text.left=x*pt;//距离左边的距离 text.top =y*pt;//距离顶边的距离 text.contents = content;//文本的内容 text.textRange.characterAttributes.size=size; //字体大小 text.textRange.characterAttributes.textFont = textFonts.getByName(font); text.textRange.characterAttributes.fillColor = color;//填充颜色 //textRef1.createOutline( );//是否转曲 } |
||
2018-10-09, 18:14 | 只看该作者 #12 | |||
|
||||
正式会员
等级: 五袋长老
|
然后自己加了点内容 大家试一下吧 代码:
//轮转机角线生成脚本 var DOC = app.activeDocument;//活动文档 var SELECT = DOC.selection;//当前选择对象 var group=DOC.groupItems.add();//为了群组 var M = UnitValue(0, "mm").as("pt");//边距 var B = UnitValue(1.5, "mm").as("pt");//出血 var W = UnitValue(2.5, "mm").as("pt");//横向线条长度 var H = UnitValue(6, "mm").as("pt");//纵向线条长度 var LINEWIDTH= UnitValue(0.12, "mm").as("pt");//线宽,单位mm var LINECOLOR = PatternColor;//线条颜色 var E_Width=UnitValue(5, "mm").as("pt");//电眼宽度,单位mm var E_Height=UnitValue(2.5, "mm").as("pt");//电眼高度,单位mm //这是你选择的矩形的位置 因为你画的那些脚线都是围绕他的 var left= SELECT[0].geometricBounds[0]; var right= SELECT[0].geometricBounds[2]; var top= SELECT[0].geometricBounds[1]; var bottom= SELECT[0].geometricBounds[3]; //线条 var lineArr=[ [left-B-M-W, top+B, left-B-M, top+B], [left-B-M-W, top, left-B-M, top], [left-B-M-W, top-B*1.5, left-B-M, top-B*1.5], [left-B-M-W, top+(bottom-top)/2, left-B-M, top+(bottom-top)/2], [left-B-M-W, bottom+B*1.5, left-B-M, bottom+B*1.5], [left-B-M-W, bottom, left-B-M, bottom], [left-B-M-W, bottom-B, left-B-M, bottom-B], [left-B-M-W/2, top+B, left-B-M-W/2, top+B-H], [left-B-M-W/2, top+(bottom-top)/2-H/2, left-B-M-W/2, top+(bottom-top)/2+H/2], [left-B-M-W/2, bottom-B, left-B-M-W/2, bottom-B+H], [right+B+M, top+B, right+B+M+W, top+B], [right+B+M, top, right+B+M+W, top], [right+B+M, top-B*1.5, right+B+M+W, top-B*1.5], [right+B+M, top+(bottom-top)/2, right+B+M+W, top+(bottom-top)/2], [right+B+M, bottom+B*1.5, right+B+M+W, bottom+B*1.5], [right+B+M, bottom, right+B+M+W, bottom], [right+B+M, bottom-B, right+B+M+W, bottom-B], [right+B+M+W/2, top+B, right+B+M+W/2, top+B-H], [right+B+M+W/2, top+(bottom-top)/2-H/2, right+B+M+W/2, top+(bottom-top)/2+H/2], [right+B+M+W/2, bottom-B, right+B+M+W/2, bottom-B+H], ]; for (var i=0;i<lineArr.length;i++){ addline(lineArr[i][0],lineArr[i][1],lineArr[i][2],lineArr[i][3]); } //画电眼 addRect(right+B+M, bottom-(bottom-top)/2-H/2, E_Width, E_Height); //目的是画一个矩形 描述一个矩形用 一个点与一个尺寸 绝对坐标表示即可 点1 x,y 宽度w,高度h //里面的过程可以不用理解 function addRect(x,y,w,h){// var rect=group.pathItems.rectangle (y, x, w, h); rect.strokeColor=NoColor;//描边改为无色 rect.strokeWidth=0;//描边宽度为0 rect.fillColor=getRegColor();//填充色为注册色 } //目的是画一条线条 描述一个线条 用两个 绝对坐标表示即可 点1 x,y 点2 x1,y1 //里面的过程可以不用理解 function addline(x,y,x1,y1){// var line=group.pathItems.add(); line.setEntirePath (Array( Array(x,y), Array(x1,y1) )); line.strokeColor=getRegColor();//描边色为注册色 line.strokeWidth=LINEWIDTH;//描边宽度为0.1mm line.fillColor=NoColor;//填充色为无 } //目的就是获取注册色 //里面的过程可以不用理解 function getRegColor(){//返回一个Color对象 var docRef = app.activeDocument;//不用理解抄就是了 var newSpot = docRef.swatches; // 寻找注册色代码段 for(var i=0;i<newSpot.length;i++){ var swatch1 = docRef.swatches[i]; if(swatch1.color=='[SpotColor]'){ var spot2 = swatch1.color.spot; var colorType2 = spot2.colorType; if(colorType2.toString()== "ColorModel.REGISTRATION") { regColorIndex=i; } }else{ continue; } } return docRef.swatches[regColorIndex].color; } |
|||