posts - 27,  comments - 68,  trackbacks - 0

之所以想开发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菜单下。

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

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

posted on 2005-09-12 17:22 zealsoft 阅读(8235) 评论(12)  编辑 收藏 引用 所属分类: PhotoShop SDK

FeedBack:
# re: PhotoShop插件的开发
2005-09-12 23:08 | jonnyyu
如果要求不是太高的话还可以考虑一下Paint.Net。
C#开发的开源软件,还有一些脚本的能力。
  回复  更多评论
  
# re: PhotoShop插件的开发
2005-10-06 13:21 | moogle
很不错的文章,期待下面的内容,事实上我本身也很喜欢photoshop。

但是“她正在做一个合成孔径雷达(SAR)图象评估的软件”,难道说只要完成一个photoshop的plugin就可以代替这个软件了吗?  回复  更多评论
  
# re: PhotoShop插件的开发
2006-05-25 01:39 | iamatig
你好...我想了解一下,
PHOTOSHOP有现成的插件可以实现自动更新文字层?
工作中,我每次都要在同一张图中各个固定位置的文字层中填入不同的内容.有没有办法让它自动从我的资料档(比如文本或EXCEL表格)里找到相应的行数,把内容填进去?

比如文字层1是姓名,有什么方法让PHOTOSHOP自动从我的文本或EXCEL表格中提取相应内容,并更新此文字层?

  回复  更多评论
  
# re: PhotoShop插件的开发
2006-06-24 00:48 | 无名
photoshop 要注册麻烦,不如考虑一下gimp免费的公开的。文档不断更新中的。
实在不行考虑vb。  回复  更多评论
  
# re: PhotoShop插件的开发
2006-07-17 08:44 | qingbing
感觉还是不如 cplus + opengl 来的简单自由。而且速度会快许多。  回复  更多评论
  
# re: PhotoShop插件的开发
2006-12-14 22:05 | 草灰
用脚本能不能实现,让黑白图片中的大批量的白点和黑点去掉?  回复  更多评论
  
# re: PhotoShop插件的开发
2007-08-27 14:54 | 方方
能不能讲一下在vc下开发 photoshop的方法呀,即在vc下怎么实现!  回复  更多评论
  
# re: PhotoShop插件的开发
2007-08-27 14:58 | 方方
能不能讲一下在vc下开发 photoshop插件的方法呀,即在vc下怎么实现!  回复  更多评论
  
# re: PhotoShop插件的开发
2008-08-19 16:27 | 鸟语林
大家能否建个群  回复  更多评论
  
# re: PhotoShop插件的开发
2008-08-19 16:30 | 鸟语林
我编译sdk的例子怎么不能用?import文件夹里  回复  更多评论
  
# re: PhotoShop插件的开发
2009-08-01 12:50 | yuanhanguang
请问能否在photoshop工具栏添加一个我们自己的工具?谢谢!  回复  更多评论
  
# re: PhotoShop插件的开发
2009-08-01 17:35 | yuanhanguang
能否在工具栏里添加我们自己的工具?谢谢  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


欢迎访问我的学术博客

<2005年9月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

常用链接

留言簿(13)

随笔分类(28)

随笔档案(27)

搜索

  •  

积分与排名

  • 积分 - 51171
  • 排名 - 367

最新评论

阅读排行榜

评论排行榜