8

好的,我知道 charIDToTypeID 将字符串转换为 photoshop 可以实际使用的 ID,但我看到的那些我找不到参考:

 var idLyr = charIDToTypeID( "Lyr " );
 var idOrdn = charIDToTypeID( "Ordn" );
 var idTrgt = charIDToTypeID( "Trgt" );

什么是“Lyr”、“Ordn”和“Trgt” - 我用谷歌搜索找到参考,但它们没有出现在 adobe 参考信息中:http ://cssdk.host.adobe.com/sdk/1.0/docs/网页帮助/app_notes/photoshop.htm

我试图找出这个人是如何在那里编写代码的,我想知道当没有在线引用它们时,他们如何选择使用这些 ID。

4

2 回答 2

12

这段代码本身不是“编写的”,而是由Script Listener 插件自动生成的。

并非 Photoshop API 的所有属性和方法都在对象模型中可用,但它们通常仍然可以访问。要使用这些未记录的功能,您可以安装脚本侦听器插件并在 Photoshop 中执行操作。脚本侦听器将生成反映您执行的操作的代码。

例如,Brush 对象没有明确的方法或属性,但使用脚本侦听器,您可以打开 Photoshop,手动调整画笔大小属性,脚本侦听器将自动生成工作代码,尽管代码很隐晦。您执行的任何操作都将被脚本侦听器记录下来,因此请注意不要执行太多操作,否则您将很难将结果缩小到那些特定的方法。

无论如何,我倾向于将它用作最后的手段,但是每当您在 Photoshop API 中处理未记录的方法时,脚本侦听器就会成为必要的恶魔。不要仅仅因为没有记录就认为方法或属性不可用。希望有帮助。

于 2012-12-16T04:17:48.357 回答
8

这是我通常引用 charIDToTypeID 的网站:

http://web.archive.org/web/20140121053819/http://www.pcpix.com/Photoshop/char.htm

(注意链接内容来自2013年)

使用它,您可以从 ScriptListener 插件中找到字符串表示形式。在你的情况下,这就是他们的意思......

phClassLayer -> 1283027488 -> "Lyr "  layer
phTypeOrdinal -> 1332896878 -> "Ordn"  ordinal
phEnumTarget -> 1416783732 -> "Trgt"  targetEnum
于 2013-02-16T10:32:54.923 回答