PhotoShop插件的开发

PhotoShop插件的开发

之所以想开发PhotoShop的插件,来自于上学期的经历。有个其他老师的学生老来问一些关于MFC的问题,她正在做一个合成孔径雷达(SAR)图象评估的软件。作为一个电子工程系的学生,她的编程基础当然不是很理想,所以那些GDI、窗口变换、文件操作的基本问题都可以难上她几周的时间,看上去很可怜。象她这样研究SAR的,机器上都装有PhotoShop,我说你可以编写一个PhotoShop插件,这样就不用去了解那些Windows编程的细节,将精力主要集中在SAR算法上,否则两年的时间怎么够用呀,而且你注定无法成为一个Windows编程的高手,还是成为SAR专家比较靠得住。可是她的老师没有想到过PhotoShop插件,她也从来没有想过。我在想,有多少象她这样的情况呢?所以,决定研究一下PhotoShop插件的编写,也许对许多搞科研的人有用。下面介绍一下PhotoShop的插件所需要的基本工具和基本概念。

要编写PhotoShop的插件需要PhotoShop SDK。要得到该SDK,需要到http://www.adobe.com/devnet/photoshop/下载,安装以后包括编写插件所需要的头文件、资源文件、文档、辅助工具和例子。由于PhotoShop最初是从Mac机上移植过来的,所以它的文档和大多数例子都有Mac机的痕迹,Adobe推荐在Windows上使用Mac机的资源格式,这样可以方便开发支持Windows和Mac的插件,这对于从小就用Windows开发的人来说够痛苦的。而且它的文档从5.0版本以来就没有怎么更新,所以最新的内容许多要靠阅读例子获得。PhotoShop的开发主要使用C/C++语言,SDK中的所有例子都包括Visual Studio.NET 2003的工程,这点还比较方便。

PhotoShop支持的插件有以下种类:

  • Automation
    Automation模块可以访问所有Photoshop脚本事件。这些模块都出现在Automate菜单或Help菜单。在SDK的Photoshop Actions Guide.pdf中介绍了这些插件的开发。
  • Color Picker
    Color Picker模块为实现不同的颜色选择器提供一个插件接口。
  • Import
    Import模块在一个新的窗口打开图象。Import模块,常用于扫描仪或视频捕捉卡接口,读取压缩格式或系统不支持的文件,通过Import 子菜单调用。
  • Export
    Export模块输出已存在的图象,,常用于控制特殊打印机或以非标准压缩格式进行文件输出,通过Export子菜单调用。
  • Extension
    Extension模块是内部模块,接口不公开。
  • Filter
    Filter模块(滤镜)实施对当前图像中的选定区域进行修改、润色。这是大家最熟悉的部分,许多图像效果便是出自这些模块,通过Filter菜单调用。
  • Format
    Format模块,也叫File Format和Image Format模块,提供对读写其他图象格式的支持。它们出现在Open..., Save As...和Save a Copy...等对话框的格式弹出菜单中。
  • Parser
    Parser模块类似Import和Export模块,提供在Photoshop和其他 (通常是矢量的)格式,如Adobe Illustrator™ or Adobe® PageMaker™之间交换数据的支持。它们的接口不公开。
  • Selection
    Selection模块修改图象中被选中的像素,也可以返回路径或像素选择区。这些模块出现在Selection菜单下。

如果想读些入门教程,可以参考以下文章

  • Photoshop 的插件及其实现(比较老了,但是基本正确)
  • MACTECH中的英文文章: 第一部分和 第二部分,虽然是针对Mac版本写的,但是概念清楚,比SDK的文档还要经典。

在今后的Blog中,我会逐步介绍有关开发的内容。

你可能感兴趣的:(PhotoShop插件的开发)