一、动作管理器三大对象
1.ActionDescriptor(动作描述符)
此对象提供了一种字典样式的机制,用于将数据存储为键-值对。它可以用于底层访问Photoshop。
属性 值类型 描述
count number 只读的。描述符中包含的键的数量。
typename string 只读的。引用的类名ActionDescriptor对象。
方法 参数类型 返回类型 描述
clear() 清理描述符
erase(key) number 从描述符中擦除
fromStream(value) string 从字节流创建描述符;用于从磁盘读取数据。
getBoolean(key) number boolean 获取类型布尔的键的值。
getClass(key) number number 获取类型为class的键的值。
getData(key) number string 获取原始字节数据作为字符串值。
getDouble(key) number number 获取类型为double的键的值。
getEnumerationType(key) number number 获取键的枚举类型。
getEnumerationValue(key) number number 获取akey的枚举值
getInteger(key) number number 获取类型为integer的键的值
getKey(index) number number 获取索引提供的第n个键的ID。
getLargeInteger(key) number number 获取类型为大整数的键的值。
getList(key) number ActionList 获取类型为list的键的值。
getObjectType(key) number number 获取类型为object的键中的对象的类ID。
getObjectValue(key) number ActionDescriptor 获取对象类型的键的值。
getPath(key) number File 获取类型为File的键的值
getReference(key) number ActionReference 获取类型的键的值ActionReference
getString(key) number string 获取类型为string的键的值。
getType(key) number DescValueType 获得键的类型
getUnitDoubleType(key) number number 获取类型为UnitDouble的键的单元类型。
getUnitDoubleValue(key) number number 获取类型为UnitDouble的键的值。
hasKey(key) number boolean 检查描述符是否包含提供的键。
isEqual(otherDesc) ActionDescriptor boolean 确定描述符是否与另一个描述符相同。
putBoolean(key,value) number,boolean 为类型为布尔值的键设置值。
putClass(key,value) number,number 为类型为class的键设置值。
putData(key,value) number,string 将原始字节数据作为字符串值。
putDouble(key,value) number,number 为类型为double的键设置值。
putEnumerated(key,enumType,value) number,number,number 设置键的枚举类型和值
putInteger(key,value) number,number 设置类型为整数的键的值。
putLargeInteger(key,value) number ,number 设置类型为大整数的键的值。
putList(key,value) number,ActionList 设置类型为动作列表对象的键的值。
putObject(key,classID,value) number,number,ActionDescriptor 设置类型为对象的键的值,由动作描述符表示。
putPath(key,value) number,File 设置类型为对象的键的值,由动作描述符表示。
putReference(key,value) number,ActionReference 设置类型为对象引用的键的值
putString(key,value) number,string 设置类型为字符串的键的值。
putUnitDouble(key,unitID,value) number,number,number 设置键的值,该键的类型为格式为double的单位值。
toStream() string 以字节流的形式获取整个描述符,以写入磁盘
2.ActionList(动作表或动作数组)
该对象提供了一种用于存储数据的数组样式的机制。 它可以用于对Photoshop的底层访问。
当存储相同类型的数据时, 列表中的所有项目都必须是同一类型。
3.ActionReference(动作引用)
该对象提供有关动作引用的信息。 例如,当指代某物的名称时,您可以使用键名称。 该参考还需要
知道您指的是什么名称。 在这种情况下,您可以将Document类用作文档名称,将Layer类用作图层
名称。 它可用于对Photoshop的底层访问.
二、事件ID
当动作和相关的底层事件开始时,每个可编程事件都被赋予一个唯一的标识符,作为一个四个字符的字符串(charID)或者stringID。在自动化插件的上下文中,charID被用作散列映射中的键来检索关联的事件。
比如选中图层 2 的AM代码解释
var d = new ActionDescriptor(); // 新建对象动作描述符
var r = new ActionReference(); // 新建对象动作引用
r.putName(stringIDToTypeID("layer"), "图层 2");// 加载图层名称
d.putReference(stringIDToTypeID("null"), r); // 图层名称加载到动作引用
executeAction(stringIDToTypeID("select"), d, DialogModes.NO); // 执行动作选中,不要对话框
所以动作管理器很简单,就是事件的无限组合。