如何用PhotoShop脚本语言处理图片教程

jsx源文件共享:(亲测可用);官方api文档Photoshop_CS5_s cripting_Guide:

脚 本控制在常规的ps教程中是很少涉及到的东西,但绝对是值得学习的技巧。脚本在自动化任务流程控制方面相对于ps action(动作)来说更为强大,而且能完成一些利用photoshop常规软件技巧不能实现的任务。下面我们来创建一个脚本来编辑照片,让你的图片以 一种更为时髦的方式去展示。

介绍

步骤一

打 开你想使用的编辑器,不管是ESTK还是windows平台下的notepad之类的文本编辑器,但不要使用word这类的程序。如果你使用ESTK,那 么窗口的左上角应该会出现一个下拉菜单,在这个下拉列表中选择adobe photoshop就能和ps程序链接起来。现在我们来编写一段简单的程序来验证我们的设置的正确性。将如下的代码输入你的编辑器:

Alert(“Hello World”)

这 条简单命令的作用是弹出一个警告框,显示“Hello World”;在这篇教程的过程中我们用警告弹出框来测试我们的部分代码。使用引号的是表明引号内的字符串是一个字符。现在运行你的脚本,如果你使用的是 像notepad之类的常规编辑器,那么运行你脚本最简单的方法就是将你的脚本储存为“mys cript.jsx”,然后打开ps,文件>脚本>浏览,然后选择你的脚本。如果你使用的是ESTK,你就只需要点击窗口右上角的播放按钮就 可以了。这时候你应该能看到一个警告弹出框。在测试你的脚本之前,请关闭当前在ps中打开的文件。

步骤二

编 辑器中的警告代码段只是来测试设置的正确性,所以这时候我们要把它删掉。每次运行脚本的时候我们都想要运用两个设置,分别是设置ps的标尺单位为像素和禁 止在非需要的情况下出现弹出对话框。在ps内实现该设置的方法是 编辑>首选项>单位和标尺,然后将标尺的值改为像素,显然关闭对话框只针对脚本语言控制程序的情况。实现该设置的代码如下:

preferences.rulerUnits = Units.PIXELS;

displayDialogs =DialogModes.NO

第 一条命令指令PS更改首选项里的单位和标尺的值为像素。我们可以发现代码的引用有明显的分层结构,比如说单位和标尺是属于首选项下面的一个子选项,显而易 见,Photoshop的软件结构也是如此。第二条命令只是将对话框的属性值改为“NO”,在执行脚本的过程中如果你需要弹出对话框,可以直接更改NO为 YES。

步骤三

现在我们希望用户选择一个文件打开,为此我们需要弹出一个打开文件的对话框,即使我们关闭了对话框的显示但是我们只要编些脚本依然可以控制对话框的显示。下面我们将定义一个和打开的文件对应的变量,然后复制该文件的背景层。实现代码如下:

open(File(openDialog()));

var docRef_1 = activeDocument

docRef_1.backgroundLayer.duplicate();

第 一条命令由三部分组成,the open命令是用来打开括号内的文件,然后the file()命令是抓取括号里的文件路径,但这里我们添加的是openDialog()命令。所以该命令行的作用是弹出一个对话框让用户选择一个文件,然 后程序能获取文件路径并打开它。如果你每次都想打开同一个文件,那么你可以用具体的文件路径来代替openDialog()代码片段。第二条命令我用 var来定义了一个变量docRef_1,该变量名可以是规范内的任意值,如果我还想打开另一个文件,我就可以定一个名为docRef_2的变量。然后我 们把变量docRef_1定义为当前文件。最后一条命令我们所做的是指令Photoshop复制docRef_1文件中的背景图层,该文件目前也是我们唯 一运行的文件。大家会再次发现这和我们在ps中的操作类似,在ps中,你会选择你想要复制图层所在的文件,然后你要选择该文件中你要复制的图层并复制它。 现在运行完整的代码我们将得到一个拥有你选择的图片的背景图层和在其上方的复制层。如果要在photoshop中完成同样的操作你只需要简单的按 Ctrl+O,然后选择图片,随后右击图层面板的背景图层,选择“复制图层”。

步骤四

下面我将讲解如何用十六进制代码来定义颜色,同时大家也将看到颜色也可以由RGB的值来表述。在这里我们将定一个白色和一个黑色,然后将黑色设为前景色,白色设为背景色。实现这个目的有很多其他的方法,但在这个教程里面我们采用这样的脚本命令:

var white = new SolidColor();

white.rgb["hexValue"] = “ffffff”;

var black = new SolidColor();

black.rgb["hexValue"] = “000000″;

foregroundColor =black;

backgroundColor = white

大 家很容易就能发现前两行代码和三、四行类似,我们在这里所做的就是定义两个可以任意命名的变量,这里我们根据即将给变量赋于的颜色命名。随后我们定义该变 量”= new SolidColor()”,则是一个创造新颜色的函数。随后便是给该颜色变量定义一个十六进制的颜色变量,这里是白色我们用”#ffffff”。我们最 终要说明的就是变量white就是指白色,black就是指黑色,最后两行代码的目的是设置前景色为黑色背景色为白色。这段代码是相当浅显可读的。在PS 软件内与之等价的操作便是点击“D”键充值背景色和前景色。现在试试在ps软件中给前景色和背景色设置任意的值,然后运行整段代码仍然可以的大相同的结 果,前景色和背景色都将恢复设置。

步骤五

下面我们要做的是将背景填充我们在上一步骤中定义的白色。为了实现该目的我们首先要全选该文件的画布区域然后填充选区。代码如下:

docRef_1.selection.selectAll();

docRef_1.selection.fill(white);

docRef_1.selection.deselect();

人之所以能,是相信能。

如何用PhotoShop脚本语言处理图片教程

相关文章:

你感兴趣的文章:

标签云: