ai脚本添加当前高光和阴影到色板

作者:网痴转稿 来源:飞特网会员投稿教程 浏览次数:加载中... 网友评论 0

这篇教程教飞特的朋友们用ai脚本添加当前高光和阴影到色板,教程主要介绍一下ai的脚本使用技巧。转发过来和飞特的ai爱好者们一起学习这个方法。ai脚本添加当前高光和阴影到色板 飞特网 ai教程该脚本会将当前的填色及其高光和阴影添加到色板之中。
默认rgb高光所有值+35、阴影-35;cmyk高光所有值-18%、阴影+10%。
如果选择的是一个专色,那么该颜色会被转换到当前文档的颜色空间中。
只能对一个纯色填充的对象执行该脚本,选择渐变、网格或是多个对象时均会报错!

要用“文件-脚本”来使用,以cs3为例应放在"c:\program files\adobe\adobe illustrator cs3\预设\脚本"下。
当然,也可以放置在其他文件夹中,通过ctrl+f12定位到脚本所在处来使用。
复制以下全部文字到记事本中,保存为以.js结尾的脚本文件(如:脚本.js)即可。

/////////////////////////////////////////////////////////////////
//add highlight and shadow swatches v.1 -- cs, cs2
//>=--------------------------------------
// a simple script for animators. takes current fill color from color pallate.
// a prompt will ask you to name the color, then it adds it to the swatch palate,
// along with the highlight and shadow for that color.
//
// feel free to tweak the values to get whatever percentages work best for you.
//
//>=--------------------------------------
// js code (c) copyright: john wundes ( john@wundes.com ) www.wundes.com
//copyright full text here: http://www.wundes.com/js4ai/copyright.txt
//////////////////////////////////////////////////////////////////

//specified value greater than maximum allowed value(指定的值超出最大范围)

var docref= app.activedocument;
if ( app.documents.length > 0 )
{
   //在这设置rgb高光、阴影参数
rgbdarkenby = -35;
rgblightenby = 75;
   //在这设置cmyk高光、阴影参数
cmykdarkenby = 10;
cmyklightenby = -18;
defname = "";
namemsg = "该填充色及其高光和阴影将被添加到色板中。默认rgb高光所有值+35、阴影-35;cmyk高光所有值-18%、阴影+10%。现在请为该填充色命名:";

//获取颜色空间名称
t=[];
t = ((activedocument.documentcolorspace)+"").split(".")
colspace = t[1];

try{
    var fill = docref.defaultfillcolor;
    if(docref.defaultfilled == false){
    throw ("抱歉,没有找到填充色,请重新选择。");
   
    }
    if (fill.typename != "spotcolor" && fill.typename != "rgbcolor" && fill.typename != "cmykcolor")
    {
     hrow("sorry, "+fill.typename+" objects are not currently supported.\nplease convert the color to "+colspace+".");
    }
   
    if(fill.typename == "spotcolor"){
     namemsg += "■警告■你选择了一个专色,该颜色会被转换到当前文档的颜色空间中。";
     fill = docref.defaultfillcolor.spot.color;
     defname = colspace+"("+docref.defaultfillcolor.spot.name+")";
    }    
     if(fill.typename == "rgbcolor"){
      fr = roundhack(fill.red);
      fg = roundhack(fill.green);
      fb = roundhack(fill.blue);
      if (defname.length <1 )
      {
       defname = "r="+ fr+" g="+fg + " b="+fb;
      }
      colname = getname();
      //在这里添加rgb颜色参数:
      makecolor([fr,fg,fb],rgblightenby,colname+" 的高光");
      makecolor([fr,fg,fb],0,colname);
      makecolor([fr,fg,fb],rgbdarkenby,colname+" 的阴影");
     } else if(fill.typename == "cmykcolor"){
      fc = roundhack(fill.cyan);
      fm = roundhack(fill.magenta);
      fy = roundhack(fill.yellow);
      fk = roundhack(fill.black);
      if (defname.length <1)
      {
       defname = "c="+ fc+" m="+fm + " y="+fy+ " k="+fk;
      }
      colname = getname();
      //在这里添加cmyk颜色参数:
      makecolor([fc,fm,fy,fk],cmyklightenby,colname+" 的高光");
      makecolor([fc,fm,fy,fk],0,colname);
      makecolor([fc,fm,fy,fk],cmykdarkenby,colname+" 的阴影");
     }
   
   }
catch(e) {
   alert("请确认:\n"+e);
}

}
function getname(){
x = prompt(namemsg,defname);
if (x == null)
{
   throw "操作被取消!";
}
return x;
}
function makecolor(arr,offset,cname){
for (each in arr)
{
   arr[each] = parseint(arr[each]);
   arr[each] += offset;
}

if(arr.length == 3){
//rgb
    var nc = new rgbcolor();
     nc.red = limit(arr[0],255);
     nc.green = limit(arr[1],255);
     nc.blue = limit(arr[2],255);
     
} else if (arr.length == 4){
//cmyk
    var nc = new cmykcolor();
     nc.cyan = limit(arr[0],100);
     nc.magenta = limit(arr[1],100);
     nc.yellow = limit(arr[2],100);
     nc.black = limit(arr[3],100);

}
   var col = docref.swatches.add();
    col.name = cname;
    col.color = nc;
}
function roundhack(n){
//make it a string
n = n +"" ;
ta = [];
ta = n.split(".");
return ta[0];
}
function limit(num,max){
if (num <= 0)
   {
    return 0;
   }
   else if(num > max )
   {
    return max;
   }
   else {
    return num;
   }
}

上一篇: ai脚本分割文本框
下一篇:

[错误报告] [推荐] [收藏] [打印] [关闭] [返回顶部]

  • 飞特网大部分教程属网友投稿,并不代表飞特网立场。如果您的教程在飞特网发布后没有注明作者和出处请联系我们处理。
    飞特网会员发布的所有作品版权规作者所有,未经作者同意,任何人不得将其用于商业目的;
    如发现本站有含色情等违反国家法律法规内容的图片及涉及个人肖像权及版权的内容,请即时通知我们,飞特网将立刻删除相关内容.本站原创内容,欢迎转载.请注明出处和作者,谢谢!
    访问本站推荐使用分辨率1280*1024,internet explorer7.0浏览器。