【photoshop Action Manager】动作管理器 - 用法(二)

一、动作管理器三大对象

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); // 执行动作选中,不要对话框
      

所以动作管理器很简单,就是事件的无限组合。

猜你喜欢

转载自blog.csdn.net/greless/article/details/109537200