如何使用Photoshop脚本自动化Photoshop

Photoshop是用于编辑图像的绝佳工具-众所周知,我们在这里是它的忠实拥护者。先前我们已经介绍了如何设计简单的徽标以及如何修复曝光过度的照片,因此一旦掌握了基础知识,自动化就是下一步的逻辑步骤。

您可能听说过 Photoshop动作。这些为您提供了一种自动执行任务的简单方法。今天,我将向您展示如何使用 Photoshop脚本。 Photoshop脚本比操作要强大一些,并且为您提供了在运行时更改脚本行为的功能-操作无法做到!

如果听起来很复杂,请不要担心:脚本是用JavaScript,一种简单而强大的语言。

如果您是GIMP的拥护者或不想花钱在Photoshop上,请查看我们的使用脚本实现GIMP自动化的指南。

您的第一个脚本:调整图像大小

在编写脚本时,可以使用ExtendScript工具包。您不必使用它,可以使用任何喜欢的文本编辑器(我喜欢Sublime Text),但是使用此工具包有很多好处。最大的优点是您可以设置断点,从而可以非常轻松地调试代码并识别任何错误。

Creative Cloud订阅随附了ExtendScript工具包,因此,请继续从您的 Creative Cloud应用程序或上面的网站进行安装。

安装后打开工具包。您将看到一个看上去很陈旧的界面:

这是您第一个脚本的代码-将其复制并粘贴到左侧的主代码窗口中:

current_document = app.activeDocument;new_width = 670;current_document.resizeImage(  UnitValue(new_width, 'px'),  null,  null,  ResampleMethod.BICUBIC);

让我们分解这段代码在做什么。 current_document 变量存储Photoshop中的活动文档 object 。使用 app.activeDocument 语法访问。如果您没有在打开文档的情况下运行Photoshop,则此代码会引发异常。异常是代码暂停执行的方式-如果没有文档,此脚本将无法继续!

new_width 变量存储您希望新文档的宽度。

p>

最后, resizeImage 方法将调整图像的大小。必须通过 current_document 变量进行访问。您需要输入新的宽度(通过 UnitValue 方法转换为像素)和 BICUBIC ResampleMethod

您可以使用五种主要的重采样方法。这些在速度和质量方面都各不相同,因此请尝试使用它们(尽管Bicubic在大多数情况下都可以使用)。以下是这些差异的快速摘要:

  • 最近的邻居:很快但很基本。
  • 双线性:优于最近的邻居,但速度较慢,但​​不如Bicubic。
  • Bicubic:结果非常好,但计算量很大。
  • Bicubic Smoother: Bicubic的增强版本,可以进行升频(放大)。
  • Bicubic Sharper: Bicubic的增强版本,可以进行降采样(缩小)。
  • 在代码中使用它们时,请记住将它们大写。

    现在您已经了解了代码,是时候运行它了!确保您已打开Photoshop以及文档。

    在ExtendScript工具包的顶部,从 ExtendScript Toolkit CC <更改 target 下拉菜单(左上方) Adob​​e Photoshop CC 2017 (或您的Photoshop的特定版本)。如果您要为其他Adobe应用程序编写脚本,则可以改为其他脚本。

    现在,按目标下拉菜单右侧的 Play 按钮,在< strong>代码右上角。

    如果一切正常运行,则现在可以调整文档的大小(不要忘记保存它)。工具箱右上方的 JavaScript控制台将显示脚本的输出。由于没有输出,因此将显示结果:未定义

    如果存在问题(例如引发异常),则您的代码将无法运行,并且您会得到大约问题所在位置的橙色条形。

    这可能是一个简单的错字,因此在停止脚本后( Top Right Controls >停止按钮),仔细检查:

  • 您的代码正确无误。
  • Photoshop正在运行。
  • 您在Photoshop中打开一个文档。
  • 运行脚本

    现在您的代码可以正确运行了,是时候将其添加到Photoshop中了。

    在您的工具箱中,转到到文件>保存,然后将脚本保存在具有合适名称的合适位置。默认情况下,这是 Adob​​e Scripts 文件夹。请注意脚本必须以 .jsx 格式结束。

    在Photoshop中,转到文件>脚本>< strong>脚本事件管理器。勾选启用事件以运行脚本/操作

    Once enabled, this interface allows you to configure existing scripts to run when certain actions occur. There are several key areas:

  • Photoshop事件::这是脚本将运行的时间。您可以从各种选项中进行选择,例如打印时,打开新文档时等等。
  • 脚本:这是要运行的脚本。内置了一些基本的脚本,但是您也可以在此处分配自己的脚本之一。
  • 操作:如果您不使用脚本,则可以选择一个代替执行的基本操作,例如保存到PDF。
  • 选择脚本,然后选择浏览。选择您的脚本。继续并选择一个事件,该事件将触发您的脚本。

    Once set up, click Add and then Done. This menu is also where you can edit or delete any scripts previously configured.

    如果您不想将脚本与某个动作相关联,则设置起来会更加容易。转到文件>脚本>浏览。导航到您的脚本,然后按打开。您的脚本将立即运行。

    如果要在此脚本菜单中查看脚本,则需要将其复制到相应的文件夹中。可以在Photoshop安装的预设>脚本文件夹中找到。

    复制后,重新启动Photoshop。重新启动后,您的脚本将在文件>脚本菜单中显示为菜单项。

    调整图像大小:变得更好

    现在您已经了解了Photoshop脚本,是时候改进代码了。

    此代码非常适合将图像调整为 670px (或您选择的任何大小)更改为),但可能会更好。幸运的是,JavaScript是一种非常灵活的语言!

    让我们修改代码,以使任何小于新大小的图像都不会被调整大小。这是代码:

    current_document = app.activeDocument;new_width = 670;if(current_document.width > new_width) {  current_document.resizeImage(    UnitValue(new_width, 'px'),    null,    null,    ResampleMethod.BICUBIC  );}

    这里只有一个更改。 if 语句围绕resize方法包装。如果当前文档宽度(通过 current_document.width 访问)小于新宽度,请不要调整大小。

    这可确保较小的图像不会被放大,从而会降低质量。

    当您开始在工具箱中键入代码时,它将为您可以进行的有效更改,调用方法或要访问的属性提供建议。这非常有用,您应该充分利用它!

    这是最后一个更改:

    current_document = app.activeDocument; // Get the active documentnew_width = 670; // new width to ressize toif(current_document.width > new_width) {  // if document is larger than new size  current_document.resizeImage(    UnitValue(new_width, 'px'),    null,    null,    ResampleMethod.BICUBICSHARPER  );}current_document.activeLayer.autoContrast(); // Apply contrastcurrent_doc.activeLayer.applySharpen(); // Apply Sharpen

    此代码现在包含注释,所有代码都应包含这些内容,以及

    重新采样方法已更改为 Bibicbic Sharper (双三次锐化器)-在缩小图像尺寸时,该方法会产生更好的结果。

    最后,对比

    您将编写什么代码?

    现在,您应该已经知道在Photoshop中自动执行任何操作所需的全部知识!如果您可以在Photoshop中进行操作,则可以使其自动化。 Photoshop API提供了对许多功能的访问,它们的文档几乎描述了您可以访问的每个功能。

    当然,今天的示例只是基本示例,但它们涵盖了核心细节-您可以实现特定于您的要求!

    您今天学到了什么新东西吗?您最喜欢什么脚本?在下面的评论中让我们知道!

    图片来源:whiteMocca通过Shutterstock.com

    标签: Adobe Photoshop 摄影 脚本