美文网首页
零基础的 PhotoShop CEP 6 开发教程 「 3 」C

零基础的 PhotoShop CEP 6 开发教程 「 3 」C

作者: 不知语冰 | 来源:发表于2015-11-04 12:55 被阅读1150次

    《零基础的 PhotoShop CEP 6 开发教程》系列目录

    「 0 」目录
    「 1 」配置开发环境
    「 2 」CEP 文件结构
    「 3 」CEP 的运行机制
    「 4 」Hello World !
    「 5 」事件(EVENTS)
    「 6 」调用 JSX 并传递信息
    「 7 」UI - HTML 开发的一些细节
    「 8 」API - 文件读写与二进制数据
    「 9 」签名打包与 ZXPSignCmd
    「 X 」CEP 更新到 6.1版了


    一个面板实际上就是一个网页

    一个 CEP 插件实际上是一个在显示在宿主程序面板窗口中的网页,通过提供的接口与宿主程序进行交互。
    这里要分清 CEP 扩展与宿主程序的关系:

    • 宿主程序
      例如一个 PhotoShop 的 CEP 扩展,它的宿主程序就是 PhotoShop ,作为宿主程序的 PhotoShop 有很多内置功能,和一个被称为 ExtendScript 的脚本引擎,通过 ExtendScript 脚本引擎能够调用各种 PhotoShop 的内置功能,比如创建一个图层、设置背景颜色等等。

    • ExtendScript
      实际上 ExtendScript 不一定是 JavaScript 还有基于 VBScript 的一套接口,不过这里只针对 JavaScript 来说。
      作为 ExtendScript 的 JavaScript 代码会在宿主程序内置的一个 JavaScript VM(虚拟机)中被解析,这就是与 CEP 扩展中的 JavaScript 代码的区别,CEP 扩展中的 JavaScript 代码会在另一个 JavaScript VM 中运行。

    我们暂且把CEP 的 JavaScript 解析引擎称为 CEP VM, 运行在其中的代码称为 JavaScript
    ExtendScript 的解析引擎称为 ExtendScript VM ,运行在其中的代码简称 JSX ,以示区别。

    ExtendScript VM 运行的代码通常保存为 .jsx 后缀,这就是上篇文章提到的插件要定义的 <ScriptPath>./jsx/Source1.jsx</ScriptPath> 文件。
    CEP VM 运行的就是 HTML 中的 JavaScript 代码 ,与 ExtendScript VM 是互相独立的,通过 Adobe 提供的CSInterface.js 可以执行 ExtendScript VM 中的方法 (实际上通过 window.__adobe_cep__ 就可以了,CSInterface.js 是对 window.__adobe_cep__ 中方法的封装),并互相传递数据。

    • 2 个 VM 的区别
      CEP VM 运行的 JavaScript 支持 Node.js 的,而 JSX 是不支持的。
      通常我们在 CEP VM 的 JavaScript 中写主要的逻辑,只有涉及到宿主的操作时才使用 JSX,因为在 2 个引擎中传递信息是一件麻烦的事。

    相关文章

      网友评论

          本文标题:零基础的 PhotoShop CEP 6 开发教程 「 3 」C

          本文链接:https://www.haomeiwen.com/subject/ebgqhttx.html