如何使用PS脚本自动化Photoshop


时间: 2021-05-21 23:53:14 人气: 913 评论: 0

您可能听说过Photoshop Actions。这些为您提供了一种自动执行任务的简单方法。今天,我们将向您展示如何使用Photoshop脚本。Photoshop脚本功能
Photoshop是用于编辑图像的绝妙工具-我们在这里一直是它的忠实支持者,这已经不是什么秘密了。前面我们已经介绍了如何设计一个简单的徽标以及如何修复曝光过度的照片,因此一旦您掌握了基础知识,自动化就是下一步的逻辑步骤。

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

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

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

编写脚本时,可以使用 扩展脚本工具箱。您不必使用它,可以使用任何喜欢的文本编辑器(我喜欢Sublime Text),但是使用此工具包有很多好处。最大的优点是您可以设置断点,这使调试代码和识别任何错误变得非常容易。扩展脚本工具包
ExtendScript工具包包含在Creative Cloud订阅中,因此请继续从Creative Cloud App或上面的网站进行安装。

安装后打开工具箱。您会看到一个看上去很陈旧的界面:扩展脚本工具箱界面
这是您第一个脚本的代码-将其复制并粘贴到左侧的主代码窗口中:

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


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

new_width变量存储的宽度,你会喜欢你的新文件是。

最后,resizeImage方法将调整图像的大小。这必须通过current_document变量进行访问。你需要在新的宽度(通过转换为像素传递单位价值方法),以及ResampleMethodBICUBIC

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

  1. 最近的邻居:非常快但是基本。

  2. 双线性:比最近的邻居好,但较慢且不如双三次。

  3. 双三次:非常好的结果,但是计算量大。

  4. Bicubic平滑器:Bicubic的增强版本,用于放大(使其变大)。

  5. Bicubic Sharper(Bicubic锐化器):Bicubic的增强版,旨在进行下采样(使其更小)。


在代码中使用它们时,请记住将它们大写。

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

在扩展脚本工具箱的顶部,将目标下拉菜单(左上角)从ExtendScript Toolkit CC更改为Adobe Photoshop (或您的Photoshop的特定版本)。如果要为其他Adobe应用程序编写脚本,则可以将其更改为这些脚本。扩展脚本工具箱目标
现在,按目标下拉菜单右侧(位于代码右上角)的“播放”按钮。扩展脚本工具包播放按钮
如果一切正常运行,工具箱右上方的JavaScript控制台将显示脚本的输出。由于没有输出,因此将显示结果:未定义javascript控制台结果
如果存在问题(例如引发异常),您的代码将无法运行,并且在问题所在的大致位置处会出现一个橙色条。执行错误
这可能是一个简单的错字,因此在停止脚本(“右上角控件”→“停止按钮”)之后,请仔细检查:

  • 您的代码正确无误。

  • Photoshop正在运行。

  • 您有一个在Photoshop中打开的文档。

运行脚本

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

在您的工具箱中,转到“文件”→“保存”,然后将脚本以合适的名称保存在合适的位置。默认情况下,这将是Adobe Scripts文件夹。注意脚本如何必须以.jsx格式结束。

在Photoshop中,转到“文件”→“脚本”→“脚本事件管理器”。勾选启用事件以运行脚本/动作脚本事件管理器
启用后,该界面允许您配置现有脚本以在发生某些操作时运行。有几个关键领域:

  1. Photoshop事件:这是脚本将运行的时间。您可以从多种选项中进行选择,例如在打印时,在打开新文档时等等。

  2. 脚本:这是要运行的脚本。内置了一些基本的脚本,但是您也可以在此处分配自己的脚本之一。

  3. 操作:如果您不使用脚本,则可以选择执行一个基本操作,例如保存为PDF。


选择“脚本”,然后选择“浏览”。选择您的脚本。继续并选择一个事件,它将触发您的脚本。

设置完成后,点击添加,然后点击完成。您也可以在此菜单中编辑或删除以前配置的任何脚本。

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

如果要在此脚本菜单中查看脚本,则需要将其复制到相应的文件夹中。这可以在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语句周围的大小调整方法包裹。如果当前文档宽度(通过current_document.width访问)小于新宽度,请不要调整大小。

这样可以确保小图像不会放大,从而降低画质。

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

current_document = app.activeDocument; // Get the active document
new_width = 670; // new width to ressize to
if(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 contrast
current_doc.activeLayer.applySharpen(); // Apply Sharpen


这段代码现在包含注释,所有代码都应包含注释,这将在将来为您提供帮助。

重采样方法已更改为“双三次锐化”(Bicubic Sharper) -在缩小图像时,这会产生更好的结果。

最后,对比度和锐化已应用到最后一步。

您会编码什么?

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

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

评论
游客