工具癖设计产品运营商业模式

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

2017-01-07  本文已影响1862人  七号萝卜

虽然说一直想学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要方便。至于这东西嘛,感觉拿来装装逼还是不错的。。其实有些时候还是有比较方便的地方嘛。

上一篇 下一篇

猜你喜欢

热点阅读