假日咖啡的博客

HolidayCoffee's Blog

Photoshop cs5面板插件开发笔记01


Photoshop cs5面板插件开发笔记01

要开发它的面板插件,必须得用上ADOBE家的SWF文件,而且他们家的IDE(flex build)还得花钱买,头疼(虽然很喜欢他们的design模式,可以拖组件)。


Photoshop Panel Developer's Guide.zip

adobe_photoshop_cs5_sdk_win.zip

以上两个文件对面板开有帮助,在adobe的官网上能下载到(文档里全是英文建议配合带翻译功能的浏览器浏览)。


Photoshop cs5的面板其实是一个打开的swf文件,swf文件要通过jsx脚本(事实上脚本所使用的语言是Javascript)与PS通信。

这个swf文件不能用flash导出的那个,必须要用到mxml文件编译成的swf文件(mxml是一种XML扩展语言),要编译必须用到flex sdk,虽然ADOBE的IDE(adobe flex4)要花钱但网上有好心人士还是提供了一款开源的IDE——FlashDevelop,虽然没有flex那么专业的环境(本来期望有design面板功能,但不知道是什么原因这个IDE的插件的作者没在网上放出来),但至少能够把mxml编译为swf。

其实单独的swf文件也可以使用,把这个swf文件复制到PhotoshopCS5安装目录下的Plug-insPanels文件夹下(自己开发的面板插件都放里),重新打开PS在菜单栏 -> 窗口(W)->扩展功能,的下面会出现一个与swf文件同名的选项,点击开启,就能看见那个新面板(swf文件)了。用flash打几个字所导出的swf能显示,但没法与ps交互,另外在flash中写入的swf的as代码在这里没有用。

另外说到Jsx脚本,网上(adobe官方文档里也有说明),PS安装目录下的ScriptingUtilities中有个ScriptListener.8li文件,这是个脚本监听工具,把这个文件复制到安装目录下的Plug-ins文件夹下(刚才Panels文件夹上层),当你启动photoshop时这个插件会起个作用,它会记录你的每个动作转化为脚本文件记录,并输出在你的桌面上生成ScriptingListenerJS.log和ScriptingListenerVB.log两个文件,一个Javascript版的一个visual basic版的,这两个文件都可以用记事本打开,最好用带标记提示的编辑器看,会比较明白的。通过对这些监听的脚本进行解读能找到你想要的功能,使之能用在为jsx脚本中(不用这个监听功能时,把那个8li文件删除即可)。

adobe官方也有份jsx的API文档,但全是英文而且是PDF格式,翻译起来很麻烦,这个文档配合上面的方法能够自己炮制出jsx脚本。


面板插件的大致方法就是这样,但自己一直没时间去深入仔细研究这些API文档,主要是英文看着头大。如果有时间我希望开发一个读取PS文本框文本属性的面板工具,把文本属性转换为CSS语言,可以直接复制到css文件中,而不用为文本属性来回切换代码和设计图。



为什么想到要开发PS的面板插件?

曾经做过美工切图的活,总是得在代码和效果图之间来回切换,感觉很麻烦而且不够人性化。

后来看到ADOBE公司发布的新的网页设计软件mues,感觉切图这活快要开始发生变革了,自动生成WEB页面代码会成为以后的主流。

也许,以后从设计到制作的流程会更加人性化,不过ADOBE的软件目前看样子是要收费了,而且网上下载的监管也严格起来,在这道门槛还没放下前,还有自救的机会。


另外,我也用了10年的PC,对电脑上的软件一直停留在应用者的层面,一直想体验一下开发者的所在的层面。

从比较基础的JS语言开始学会编程(起初只会CSS和html),做了一段时间的美工,后来辞职了。辞职后开始对编程这种事越发关心起来,从基本的VB开始,发现VB与JS相比,语言相对而言非常啰嗦,虽然可以在本地操作,并在本地处理输出保存数据,但代码实在不方便,于是开始转向C语言,但一直找不到适合的IDE环境,市面上C语言的书很多,但能直接画界面拖组件的IDE一直没发现,而且语法又得从新学,我又转向C#,使用visual C#感觉界面很友好,而且与JS语言很像,我想学这门语言一定,以后说不定能用上。

但可惜的是我所熟悉的PS软件,要开发它的面板插件,必须得用上ADOBE家的SWF文件,而且他们家的IDE还得花钱买,头疼。