原来PS还可以这样玩---以程序员的姿势玩PS

虽然说一直想学ps,但一直没怎么学得好,练习不够,毅力不够。。。最近突然发现了一个玩ps的新姿势,以前一直不知道Photoshop还可以用程序员的姿势来玩,于是趁着有兴趣的时候玩了玩,发现好像还不错额,忍不住想记录一下。

什么才是程序员的姿势呢?那就是写脚本。不错,ps也能通过写脚本的方式来进行p图,而且还是JavaScript。接下来就来看看怎么做吧-

ps的脚本可以用JavaScript写,也就意味着能写JavaScript的工具都能用来写ps的脚本,官方提供的是ExtendScript IDE,不过,因为我没有安装,为了便利,这里就用的是Sublime Text,其实记事本也可以哦,只不过它的颜值实在不高罢了。

那么先来看看ps脚本的基本概念吧。

首先,ps脚本是ps中最为强大的功能,可以完成大量的重复性劳动或者制作非常复杂的特殊效果等。

ps脚本的语法其实也还是比较简单的,代码量比较少就可以完成一些任务,比如说下面一句:

app.activeDocument.close()

就从语义上也比较好理解,其中的app就代表着photoshop,这句话就意味着将Photoshop的当前文档关闭了,看起来蛮简单的。很多都是直译:

// 将当前文档的当前图层的透明度设置为10
app.activeDocument.activeLayer.alpha = 10

// 将当前文档的当前选区执行羽化命令,羽化值为10
app.activeDocument.selection.feather(10)

由于ps脚本的操作还是蛮多的,基本上能用手操作的都能做。这里就看看在图像处理中的一点应用就是了-

比如说修改亮度和对比度,新建一个jsx文件,写下如下代码:

// 获取到当前层
var layer = app.activeDocument.activeLayer;
// 定义一个变量,表示亮度
var brightness = 30;
// 定义一个变量,表示对比度
var contrast = 30;

layer.adjustBrightnessContrast(brightness,contrast);

然后保存到一个地方。接着打开ps,拽进一张图片:

接着就是点击文件--->脚本---->浏览,找到刚才写的文件:

找到相应的脚本

然后点击打开。我的是mac,在windows上也一样。这时候就会发现,照片果然发生了变化,证明脚本执行了:

脚本执行了

为了快速调出浏览脚本页面,我们还可以为其设置快捷键。

首先点编辑---->键盘快捷键:

接着点击文件左侧三角形展开:

滚动到下面,选择里面的浏览右边:

设置浏览的快捷键

这里就可以输入快捷键了,按个人的喜好输入吧。输入后,点击右边的接受,然后确定就是了。接下来就可以按自己设置的快捷键弄出浏览菜单了。

这样子,也就可以比较快速的执行脚本了。再来看几组图像处理的脚本。

使用自动对比度

var layer = app.activeDocument.activeLayer;
layer.autoContrast();

保存后,接着按上面设置的快捷键,然后和上面一样执行脚本就能看到效果了。

使用曲线

var layer = app.activeDocument.activeLayer;

// 表示曲线上三个点的坐标,每组第一个值表示输入值,第二个值表示输出值 
var curveShape = [[30,2],[85,100],[255,255]];
layer.adjustCurves(curveShape);

使用高斯模糊滤镜

var layer = app.activeDocument.activeLayer;
var radius = 2.5;
layer.applyGaussianBlur(radius);  //高斯模糊效果,其他滤镜也是apply开头的方法

这时候,点击脚本就可以添加指定的高斯模糊效果了。

太多了,上面就随便写了点,基本上所有的功能都能通过代码操作,感兴趣可以下载文档来看看,http://www.adobe.com/devnet/photoshop/scripting.html ,除了JavaScript还可以用AppleScript和VBScript。

等我操作一会儿后就发现,嗯,还是直接在ps上操作方便。。

不过用脚本本来定义的就是代替那种大量重复性劳动的工作,因此,用来批量处理一些东西还是不错的,比如说给图片批量添加水印,如下:

// 弹出文件夹选择窗口
var inputFolder = Folder.selectDialog("请选择图片所在的文件夹:");
if(inputFolder != null){
  // 获得文件夹下所有文件
  var fileList = inputFolder.getFiles();

  for(var i=0;i < fileList.length;i++){
    if(fileList[i] instanceof File && fileList[i].hidden == false){
      var docRef = open(fileList[i]);
      var layerRef = docRef.artLayers.add();
      layerRef.kind = LayerKind.TEXT;    //设置新建图层为文本类型
      layerRef.textItem.contents = "CopyRight @nobody";  // 设置版权信息文本
      layerRef.textItem.size = docRef.width/30;  //根据当前图片宽度,大致计算出文字大小

      var color = new RGBColor();
      color.red = 255;
      color.green = 255;
      color.blue = 255;

      var sc = new SolidColor();
      sc.rgb = color;
      layerRef.textItem.color = sc;
      layerRef.fillOpacity = 50;    //设置透明度为半透明
      layerRef.translate(0,docRef.height/2-72);
      layerRef.merge();    //合并
      docRef.save();    //保存文档
      docRef.close();
    }
  }
}

保存之后,将需要添加水印的图片放在一个文件夹下,然后在ps中使用快捷键执行脚本,看看运行情况:

然后看看执行结果:

添加了水印,这里的图片来自Ubuntu里的壁纸。。

果然添加了水印。

以程序员的姿势来玩PS就是这样玩的,哈哈,当然要处理一些照片或设计啥的,当然还是直接使用PS要方便。至于这东西嘛,感觉拿来装装逼还是不错的。。其实有些时候还是有比较方便的地方嘛。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容