Photoshop SDK:Layer Comps 的导出插件

Photoshop SDK: Export plugin for Layer Comps

我目前正在考虑用 C++ 编写一个复杂的 photoshop 导出插件,第一步是重新创建 "Layer comps to files" 脚本的功能。经过大量搜索、通读 Photoshop SDK 文档并查看 SDK 中的示例插件基金,我什至无法确定这是否可行。

我的问题如下:Photoshop 导出插件如何枚举和应用 Layer Comps 以便单独导出它们?

事实证明导出插件无法修改文档状态,所以我最初问题的答案是那样做是不可能的。

但是,您可以创建一个自动化插件来应用图层合成,然后调用导出插件来保存生成的图像。 SDK 没有很好地解释这个过程,但是有两个示例插件(Listener 和 Getter 插件)转储了 C 代码,这对学习如何自动化 Photoshop 很有用。

侦听器插件转储复制您执行的操作的代码(即应用层合成或调用导出器插件)

getter 插件转储显示如何访问系统中所有变量的代码(即层复合列表及其名称)

您需要先从 SDK 编译这些插件,然后才能使用它们。

所以解决方法是

  1. 创建导出为您喜欢的格式的导出插件
  2. 创建一个空的自动化插件来执行脚本
  3. 检查直接调用您的导出插件时监听器插件转储的代码 - 您可以将该代码复制并粘贴到您的自动化插件以调用导出插件
  4. 检查监听器插件在应用图层合成时转储的代码 - 此代码需要图层合成的名称作为参数
  5. 检查 Getter 插件的转储,了解如何访问图层合成列表(它是包含 compsClass 对象的文档的 compsList 成员)
  6. 检查 Getter 插件的转储,了解如何访问列表中 compsClass 对象的 title 成员
  7. 修改由Getter插件转储的代码以读取数据而不是设置数据,并在自动化插件中使用它来遍历层复合列表。在每次迭代中应用图层合成并调用导出插件最终得到图像。