ai填充颜色指定区域(illustrator插件-常用功能开发-随机填色-js脚本开发-AI插件)

Illustrator是矢量编辑软件,画板是绘图和处理的重要容器。印刷中的一个重要功能是色彩处理。开发一个随机颜色填充函数。以下功能仅用于学习和交流,不得用于非法或商业用途。源代码如下:

ai填充颜色

len = app . active document . selection . length; grad alert = 0; strokes = false; if(len = = 0){ alert(& # 34;请选择一个或多个对象。成组的对象不会受到影响。"); } else { ob = app . active document . selection; var line 1 = & # 34;1.要随机填充颜色,请输入1-100的值(值越大,亮度越小)& # 34;; var line 2 = & # 34;2.对于随机轮廓颜色,输入1-100的值,以英文“S”结尾(值越大,亮度越大)& # 34;; var line 3 = & # 34;3.对于随机不透明度,输入1-100的最小值和最大值,例如30,100 & # 34;; var data = prompt(line 1+line 2+line 3,& # 34;"); if(data = = null | | data . length = = 0){ } else { if(data . index of(& # 34;,")& gt0){ action = data . split(& # 34;,"); } else { action = data . split(& # 34;"); } if(action[action . length-1]= = & # 34;s & # 34){ action . length = action . length-1; strokes = true; } if(action[action . length-1]。charAt(action[action.length - 1]。长度-1)= = & # 34;s & # 34){ 动作[动作.长度- 1] =动作[动作.长度- 1]。substr(0,动作[动作.长度- 1])。长度-1); strokes = true; } var base val = action[0]; for(var j = 0;j & ltlenj+= 1){ if(is number(action[0])& & is number(action[1])& & action . length = = 2){ calc num =(action[0]* 1)+(math . random(1)*(action[1]-action[0]);ob[j]。opacity = set legal(calc num); } else if(is number(action[0],255)& & action . length = = 1){ if(app . active document . document colorspace = = & # 34;DocumentColorSpace。RGB & # 34){ action[0]= math . round(base val * 2.55); } if(strokes = = false){ if(ob[j]。filled = = true){ set color(ob[j]。fillColor,setLegal(action[0],255)); } } else { if (ob[j]。stroked = = true){ set color(ob[j]。strokeColor,setLegal(action[0],255)); } } } else { j = len; 错误(操作[0]); } } } } 函数错误(val){ alert(val+& # 34;值与脚本不一致,应控制在1-100之间!"); } function is number(num,max){ if(max = = undefined){ max = 100; } if(num & gt;= 0 & & num & lt= max) { 返回true } 返回false } function set legal(num,max){ if(max = = undefined){ max = 100; } if(num & lt;0){ return-num % max; } else if(num & gt;max){ return max-(num % max); }否则{ return num; } } function set color(obj,dev){ var d = math . round(math . random(1)* dev); if(obj = = undefined){ } else if(obj . typename = = & # 34;RGBColor & # 34){ d = math . round(math . random(1)* dev); var r = obj . red; obj . red = set legal((r-dev)+(d * 2),255); d = math . round(math . random(1)* dev); var g = obj . green; obj . green = set legal((g-dev)+(d * 2),255); d = math . round(math . random(1)* dev); var b = obj . blue; obj . blue = set legal((b-dev)+(d * 2),255); } else if(obj . typename = = & # 34;SpotColor & # 34){ var d = math . round(math . random(1)* dev); var t = obj . tint; obj . tint = set legal((t-dev)+(d * 2),100); } else if(obj . typename = = & # 34;灰色& # 34;){ var d = math . round(math . random(1)* dev); var t = obj . gray; obj . gray = set legal((t-dev)+(d * 2),100); } else if(obj . typename = = & # 34;CMYKColor & # 34){ d = math . round(math . random(1)* dev); var c = obj . cyan; obj . cyan = set legal((c-dev)+(d * 2),100); d = math . round(math . random(1)* dev); var m = obj . magenta; obj . magenta = set legal((m-dev)+(d * 2),100); d = math . round(math . random(1)* dev); var y = obj . yellow; obj . yellow = set legal((y-dev)+(d * 2),100); d = math . round(math . random(1)* dev); var k = obj . black; obj . black = set legal((k-dev)+(d * 2),100); } else { if (gradAlert!= 1 & & obj.typename = = & # 34图案颜色& # 34;| | obj.typename = = & # 34GradientColor & # 34){ grad alert = 1; alert(& # 34;图案和渐变不会被转换。"); } } }[/HR/]& emsp;& emsp合理的脚本代码可以有效提高工作效率,减少重复性工作。

文章引用作者的联系信息

您可以还会对下面的文章感兴趣

使用微信扫描二维码后

点击右上角发送给好友