美文网首页工具癖设计产品运营商业模式
原来PS还可以这样玩---以程序员的姿势玩PS

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

作者: 七号萝卜 | 来源:发表于2017-01-07 21:14 被阅读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要方便。至于这东西嘛,感觉拿来装装逼还是不错的。。其实有些时候还是有比较方便的地方嘛。

相关文章

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

    虽然说一直想学ps,但一直没怎么学得好,练习不够,毅力不够。。。最近突然发现了一个玩ps的新姿势,以前一直不知道P...

  • 漫画31

    我是这样子玩的,画局部然后Ps

  • ps小技巧-文字也可以这样玩

    今天我们来用水果制作成文字。ps的神奇就是把奇思妙想变成现实,ps学习的不止是技术,还有创意思维的训练,再把创意变...

  • 好游戏

    最近买了一台PS游戏机,开始玩一直心心念念的游戏《死亡搁浅》。 开始玩PS主机游戏之前,我觉得PS上的游戏肯定是比...

  • 定个目标

    一、爱好      录视频,当好技术宅。玩ps,玩AE,玩编程,玩系统,玩考研,玩语言,玩健身。 二、定个目标  ...

  • 为什么我这么喜欢ps

    玩ps已经有些年头了,今天我想说说对于学习PS的一些感受,首先我觉得PS真的是一个非常其妙的东西,它可以改变你...

  • 原来还可以这样玩

  • 跟爸玩ps跟妈玩!

    前几天叮叮跟他爸还有朋友去瓦屋山看雪了,照了不少的照片,照片都在亲宝宝上面,哎!活脱脱的小公主变成了村姑! 披头散...

  • PS新手抠图教程,教你PS滤镜抠图技巧和方法

    PS新手抠图教程,教你PS滤镜抠图技巧和方法 滤镜是ps的一项重要功能,学习ps一定要掌握滤镜的使用方法,滤镜玩的...

  • 【有利可图网】PS教程:利用PS设计制作出震撼的视觉效果

    本篇教你如何利用photoshop设计制作出震撼的视觉效果!教程简单易懂,PS滤镜中的圆就该这样玩,可以根据个人的...

网友评论

    本文标题:原来PS还可以这样玩---以程序员的姿势玩PS

    本文链接:https://www.haomeiwen.com/subject/ripxbttx.html