JavaScript脚本参考是基于DOM文档对象模型的资料

一、Adobe Photoshop CC 提供JavaScript支持

本参考资料描述了Adobe®Photoshop®CC®JavaScriptTMtype库中的对象和方法。一个配套的文档,
Photoshop CC脚本指南,描述了基本的脚本概念和Photoshop对象模型。本文档提供了Photoshop对
象模型的参考细节,以及关于javascript特定特性的附加信息。
Adobe Photoshop CC使用了ExtendScript,这是Adobe对JavaScript的扩展实现。有关更多信息,请参
见adobephotoshopcc.com中的JavaScript支持。

本书包括以下章节:
●本介绍介绍了adobephotoshopcc中的脚本支持,并列出了对自上次发布以来的JavaScript接口。
● JavaScript对象引用,为所有Photoshop DOM对象提供完整的引用命令。
●脚本常量,列出Photoshop类型库中使用的所有枚举。

要使JavaScript文件被Photoshop识别为有效的脚本文件,它必须使用a.js或a.jsx扩展。

在Mac OS上,脚本使用两个扩展函数的方式没有区别。在Windows上,如果脚本文件是在Photoshop
中打开的,那么使用.js和.jsx没有区别。但是,如果脚本是通过双击启动的,则扩展名为.js的脚本是
使用Microsoft JScript引擎解释,无法启动adobephotoshopcc。最好使用.jsx扩展,因为它使用
ExtendScript引擎解释脚本。

所有Adobe Creative Cloud应用程序,包括Adobe Photoshop CC,都使用ExtendScript,这是Adobe对
JavaScript的扩展实现。扩展脚本文件由。 jsx扩展。 ExtendScript提供了所有标准的JavaScript特性,
以及附加的特性和实用程序,比如:
●调试环境(ExtendScript工具包)
●本地化工具
●允许组合脚本并将其指向特定应用程序的工具
●独立于平台的文件和文件夹表示

许多JavaScript对象和方法使用ExtendScript中定义的对象,比如File对象、 Folder对象和UnitValue对
象。因此,使用。脚本文件的jsx扩展名更可取。

有关这些特性和其他特性的详细信息,请参阅javascript工具指南。本文档在以下地点安装了创造性
云应用程序:
● In Windows:
C:\Program Files\Adobe\Adobe Utilities\ExtendScript Toolkit CC\SDK
● In Mac OS:
Applications/Utilities/Adobe Utilities/ExtendScript Toolkit CC/SDK
本文档和ExtendScript Tookit的最新版本也可以从Adobe下载开发中心,http://www.adobe.com/devnet/.

1.执行脚本
adobephotoshopcc界面包含一个Scripts菜单(文件>脚本),它提供了对java脚本的快速、简便访问。
脚本可以直接作为菜单项列出,当您选择它们时运行它们,或者您可以导航到并运行文件系统中的
任何JavaScript。
如果adobephotoshopcc在执行脚本时遇到错误,它将显示错误消息。

2.安装脚本
要在Scripts菜单中安装JavaScript,请将其放入Scripts文件夹(Photoshop CC/Presets/ Scripts)。 “脚本”文
件夹中脚本的名称将显示在脚本菜单。可以在scripts菜单中安装任意数量的脚本。
运行adobe photoshop cc时添加到Scripts文件夹中的脚本将不会出现在脚本中菜单,直到下一次启动应用程序。
在scripts文件夹和子文件夹中找到的所有脚本都显示在File> scripts的顶层菜单。子文件夹的添加不会向Scripts菜单中添加层次结构。

3.执行其他脚本
通过(Files> Scripts > Browse)允许您执行Scripts文件夹中没有安装的脚本。还可以使用Browse选择上
次启动应用程序后安装在scripts文件夹中的脚本。
选择Browse将显示一个文件浏览器对话框,该对话框允许您选择要执行的脚本文件。只有
.js或.jsx文件显示在browse对话框中。当您选择一个脚本文件时,它将以已安装脚本的相同方式执
行。

4.启动脚本
在启动时, adobe photoshop cc将执行在启动文件夹中找到的所有.jsx文件。
●在Windows上,用户定义脚本的启动文件夹是:
C:\Program Files\Common Files\Adobe\Startup Scripts CC\Adobe Photoshop
●在Mac OS上,用户定义脚本的启动文件夹为::
~/Library/Application Support/Adobe/Startup Scripts CC/Adobe Photoshop
如果一个脚本只打算由adobe photoshop cc执行,它必须包含以下代码:

if( BridgeTalk.appName == "photoshop" ) {
//continue executing script
}

有关更多细节,请参见javascript工具指南。

5.对象模型的使用和命名
JavaScript API遵循JavaScript命名约定,即所有类(对象类型)都以大写字母开头,并具有混合大小写。
通常,在JavaScript中,您使用新的操作符实例化类:
new ClassName();
然而,在Photoshop对象模型中,通常没有必要这样做。主要对象类型被回收到集合类中;例如,文
档集合对象中包含文档对象列表。然后,通过对象层次结构中容器中的相应集合属性访问集合对
象。
例如,所有打开文档的集合都包含在顶级应用程序对象中。你可以通过全局变量应用程序访问它,
或者直接在顶层引用它的属性:
app.documents[0] // get the first loaded documented
documents[0] // this is the same
集合属性具有与集合对象相同的名称,但以小写字母开头。例如,一个 Document 包含 LayerSets,
aLayerSet包含ArtLayers。要访问集合中的一个ArtLayer对象:
var myLayer = activeDocument.layerSets[0].artLayers[0];
在本例中,可以将集合视为数组,这对于迭代非常有用。它们还提供了创建所包含对象的方法,并
按名称访问它们:
var newLayer = activeDocument.artLayers.add(); // Create a new ArtLayer object
newLayer.name = "My Layer"; // name it for later reference
...
var layerRef = activeDocument.artLayers.getByName("My Layer");
一些对象,比如应用程序中包含的字体对象。字体集合是由应用程序创建的,而不是由脚本创建
的。
您的脚本确实使用JavaScript new操作符来创建helper对象,比如那些封装了一组以特定格式打开或
保存文档的选项的对象:
var opts = new PDFOpenOptions();
opts.page = 10;
app.open(myPDFFile, opts);

二、JavaScript对象引用

Photoshop对象(Adobe®Photoshop®CC的JavaScript类型库)在本章中以表格形式出现。给出了几个对
象模型类的示例代码,以帮助说明对象类的语法和用法。

1.对象描述
对象属性和方法在每个对象的单独表中进行描述。以下部分描述这些描述中使用的约定。

2.属性符号
对象的属性表列出了以下内容:
●定义在每个对象中的属性。
●每个属性的值类型。
当值类型是常量或其他对象时,值是指向该对象清单的超文本链接常数或对象。
●属性的输入状态:只读或读写。
●解释该属性功能的描述。

属性 值类型 描述
displayDialogs DialogModes 读写。应用程序的对话模式,它控制运行脚本时应该显示什
么类型的对话框。

对于常量,如示例中的displayDialogs模式,单击链接可转到显示允许值的表。常量由对象表示,
允许的值是这些对象的属性。以ConstantName.VALUE的形式指定一个常量值。例如:
app.displayDialogs = DialogModes.ERROR;

3.方法符号
对象的方法表列出了以下内容:
●方法名。
●参数列表。
●参数值类型,行上对应每个参数。
●返回值类型
●描述方法的功能,如果需要,进一步描述参数。

方法 参数类型 返回类型 描述
crop
(bounds
[, angle]
[, width]
[, height])
array of 4
UnitValue
number
UnitValue
UnitValue
Crops裁剪.
bounds参数是裁剪后区域坐
标外的一个数组, [left,top,
right, bottom].

当参数类型或返回值是常量或其他对象时,该值是指向该常量或对象列表的超文本链接。
参数可以是必需的,也可以是可选的。表中可选参数用方括号表示([])。在本例中,需要第一个参数
bounds。其余参数都是可选的。

您必须为每个必需的参数传递一个值。如果没有剩余的值要传递,可以省略可选参数;但是,如果您
希望为任何不是最后指定的可选参数使用默认值,请将undefined作为占位符传递。您必须按照列出
的顺序输入值,以便JavaScript编译器知道您输入的是哪个值。

例如,下面只传递所需的参数(使用以前定义的变量作为边界区域):
app.activeDocument.crop( myRegion );
下面跳过角度参数,指定宽度值,并省略最后的高度值:
var myWidth = new UnitValue( "500 pixels" );
app.executeAction( myRegion,undefined,myWidth );

三、其他对象介绍

其他对象不再具体介绍,详情请查看脚本文档

红色为需要重点掌握的对象

Photoshop脚本入门(二)- JavaScript脚本参考相关推荐

  1. 电力系统建模与仿真, 地理接线图,配电图,电力系统组态与监控,电力调度,自动控制,VBScript脚本控制,JavaScript脚本控制, 潮流分析,VC++和.NET以及web解决方案源代码2018

    电力系统建模与仿真, 地理接线图,配电图,电力系统组态与监控,电力调度,自动控制,VBScript脚本控制,JavaScript脚本控制, 潮流分析,VC++和.NET以及web解决方案源代码2018 ...

  2. Kettle8.2脚本组件之javascript脚本

    Kettle8.2脚本组件之javascript脚本 一.相关说明 二.设计转换 三.转换配置 四.运行转换 五.结果查看 一.相关说明 脚本组件说明: 脚本就是直接通过程序代码完成一些复杂的操作. ...

  3. 随笔二——JavaScript脚本语言

    模块三 JavaScript脚本语言 JavaScript(简称"JS")由Netscape公司的Brendan Eich在网景导航者浏览器上首次设计实现而成.为了确保不同的浏览器 ...

  4. python爬虫脚本入门——飞天秒杀脚本

    前言 前段时间抢茅台脚本非常火,它是Python脚本,加上刚好最近在学习Python,我们准备通过这个脚本,来加深学习Python. 抢茅台的脚本其实属于爬虫脚本的一类,它实现了模拟登陆,模拟访问并抓 ...

  5. linux更改语言脚本,Linux shell脚本入门——shell语言脚本【CentOS】

    认识脚本 是使用一种特定的描述性语言,依据一定的格式编写的可执行文件.脚本语言又被称为扩建的语言, 或者动态语言, 是一种编程语言, 用来控制软件应用程序, 脚本通常是以文本 (ASCⅡ) 保存, 只 ...

  6. java 脚本引擎执行javascript脚本

    java脚本引擎是从JDK6.0之后添加的新功能,语法使用Rhino. public class ScriptTest {public static void main(String args[]) ...

  7. python爬虫脚本入门-通过电影脚本讲些爬虫知识

    爬虫目的 实现对各大视频网站vip电影的下载,因为第三方解析网站并没有提供下载的渠道,因此想要实现电影的下载. 实现思路 选择一个合适的vip解析网站,这里选择了无名小站的接口,因为尝试了很多网站,有 ...

  8. JavaScript脚本语言介绍并实现第一个Hello World程序

    1.JavaScript是Web页面中的一种脚本编程语言,也是一种通用的.跨平台的.基于对象和事件驱动并具有安全性的脚本语言,具有与Java类似的语法.它不需要进行编译,而是直接嵌入在HTML页面 ...

  9. 2、Shell 脚本入门

    文章目录 2.Shell 脚本入门 2.1 脚本格式 2.2 第一个 Shell 脚本:helloworld.sh 第一种:采用 bash 或 sh+脚本的相对路径或绝对路径(不用赋予脚本+x 权限) ...

  10. linux脚本简介,Linux Shell脚本简介

    Shell 诞生于 Unix,是与 Unix/Linux 交互的工具,单独地学习 Shell 是没有意义的,请先参考Unix/Linux入门教程,了解 Unix/Lunix 基础. 近几年来,Shel ...

最新文章

  1. 牛逼!一个故事讲清楚 NIO 了
  2. .NET 6 即将到来的新特性 — 隐式命名空间引用
  3. eval() python_python的eval和exec的区别与联系
  4. Spring学习总结(26)——Spring事务原理详解
  5. CentOS 7系统,Docker想启用userns-remap,傻了吧?
  6. NOIP Day -151
  7. 关于按钮背景透明 + div拖拽
  8. matlab蚁群算法解决vrp过程,蚁群算法MATLAB解VRP问题
  9. linux tig不支持中文,tig — 让 git 命令行可视化
  10. php 绘制斜线,css怎么绘制斜线
  11. 出轨后身体留下的六个特征
  12. 101 Ruby Code Factoids
  13. 不用聚合函数求最高工资
  14. 成都金堂计算机学校有哪些?
  15. 模型调优(Tuning)(一)
  16. 华为云 IoT 物联网数据分析能力详解
  17. 『题解』洛谷P2357 守墓人
  18. 学完大数据开发一般可以胜任哪些工作?
  19. 三人年龄 三个神秘蒙面人来访F博士。博士询问他们年龄时,他们说:我们中年龄最小的不超过19岁。我们3人年龄总和为70岁。且我们三人年龄的乘积是所有可能情况中最大的。
  20. php验证码实现代码(3种)验证类

热门文章

  1. python学习⑥|基于tesseract的视频字幕提取
  2. 绿色版与安装版的区别 /(0^◇^0)/
  3. win32应用程序_驱动人生网卡版提示不是有效的应用程序,为什么和怎么办
  4. 服务器监控软件(一 、大致讲解篇)
  5. 全集]+华夏***联盟大型免费培训***技术系列教程
  6. 《浪潮之巅》 18 挑战者 Google公司
  7. 已解决ValueError: Shape of passed values is (1509, 1), indices imply (1509, 2)
  8. win7计算机管理中没有本地用户,帮你win7系统计算机管理中没有本地用户和组的设置教程...
  9. 计算机设备管理器系统设备,win7系统计算机管理中没有“设备管理器”的操作方法...
  10. 毕业论文 | 基于STM32的双轮平衡小车设计(基于Keil5的完整注释版代码工程,原器件清单)