- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Photoshop 的插件及其实现?
一、plug-in概述1.-in结构plug-in结构由两部分组成,一是插件(plug-in modules),二是宿主(plug-in hosts)。插件是Adobe或第三方开发者开发的、用以扩展标准Photoshop功能的软件模块,用户可以不需改动宿主的代码,而通过在系统中增加或升级插件以满足自己的需要。宿主则负责把插件载入内存并通过一定接口进行调用、协作,当插件功能完毕之后,将插件从内存中卸载。Adobe公司的其他产品,如Premiere、Illustrator、PageMaker等都是宿主,但是它们的plug-in结构各有不同,本文只讨论Photoshop宿主。plug-in并非Photoshop所独有,许多应用程序都支持特定的插件,Silicon Beach便是一家最早支持plug-in技术的公司,它将插件设计为独立的文件,允许这些文件放置在任意的位置,并且它引入了版本号概念,当新功能增添到接口中时能实现平稳升级。Photoshop有些近似于这一方式,它利用了相似的调用过程和版本号策略,但随着Photoshop针对真彩色图像处理和虚拟内存管理的需要所做的工作,其插入结构不断被完善和发展,现在的具体接口已经和Silicon Beach的完全不同了。2.插件类型Photoshop支持以下四种插件:Acquire modules(扩展名实现在一个新窗口中打开一幅图像,常用于扫描仪或视频捕捉卡接口,读取压缩格式或系统不支持的文件,通过Acquire子菜单调用。Export modules(扩展名.8be)实现图像输出,常用于控制特殊打印机或以非标准压缩格式进行文件输出,通过Export子菜单调用。Format modules(扩展名.8bi)实现标准读写系统不支持的特殊文件格式,出现在Open...、Save As...等对话框的格式栏中。Filter modules(扩展名.8bf)实施对当前图像中的选定区域进行修改、润色。这是大家最熟悉的部分,许多图像效果便是出自这些模块,通过Filter菜单调用。在Windows中,插件文件必须放置在特定的路径中(如\photoshop\plugins),这些路径由photos 30.ini中的PLUGIN DIRECTORY栏所指示。一个插件文件可包含一个或多个功能,但并不提倡创建多功能的插件文件,因为这样减少了插件的用户控制。然而,当一组功能紧密相关时,创建多功能的插件可以便于文件管理,弥补了前述不足,所以用户可按照具体情况编制插件。3.插件的程序接口宿主程序对插件的调用是对用户操作的响应。一般来说,执行一个用户命令会导致一系列宿主对插件的调用,所有这些调用都是通过插件的入口函数ENTRYPOINT()完成的。其结构如下:void ENTRYPOINT(short selector,void * plugin ParamBlock,long * pluginData,short *result);其中,selector参数指示宿主程序所要求的操作类型,selector=0时表示要显示一个About信息框。按照SDK的规定,此对话框必须放置在主窗口中央、不含OK按钮,但能够对回车键或在其中进行的鼠标点击作出响应。其他selector值在各种插件中有不同的定义。pluginParamBlock参数指向一个用于在宿主和插件之间来回传递信息的数据结构,这个结构随着插件类型的不同而改变。pluginData参数指向一个长整型,它是Photoshop为插件保留的固定区域,其典型的应用便是存储一个长句柄,指向一个插件的全局数据所占用的内存区,当插件第一次被调用时值为0。result参数指向一个短整型,每次当插件被调用时,它都必须设置result。当返回一个0值给宿主时,表示插件代码中没有错误出现;而当result为非0值时,则向宿主表明插件中发生了某些错误,或表明在插件的执行过程中用户取消了操作。一个插件的主结构实际上是一个多向开关,它把pluginParamBlock、PluginData和result参数发送给各个selector所对应的句柄。下面是一个Filter module的入口代码:void ENTRYPOINT( short selector, FilterRecord*filterParamBlock, long*data,short*result){Globals globalValues;GPtr globals=&globalValues;gResult=noErr;...switch(selector){ case filterSelector About:
您可能关注的文档
- 浅谈程序员电子刊2016年8期.pdf
- 第九章 2008R2 域打印机分享.pdf
- 第七章 行输出变压器装修数据大全.pdf
- labview串口好资料及属性节点.doc
- 钢筋机械连接技术规程JGJ107-2010指南.ppt
- 第八章 Unit7演示文稿.ppt
- 高分遥感影像处理和应用.pdf
- 新三板业务测试题讲述.docx
- 全国计算机一级考试计算机硬件系统选择题课件.docx
- 智慧软件园方案_NJSP_Allen_2014-02-25-附件.pdf
- 中国农业科学院农业资源与农业区划研究所2024年度公开招聘笔试备考题库及答案详解1套.docx
- 中国城市规划设计研究院2025年度公开招聘笔试模拟试题带答案详解.docx
- 2025年银川市公安局面向宁夏警官职业学院招聘285名警务辅助人员笔试模拟试题及完整答案详解1套.docx
- 2025年衢州市公安局第一期招聘54名警务辅助人员笔试模拟试题含答案详解.docx
- 2025年辽宁沈阳理工大学招聘高层次人才142人笔试模拟试题及答案详解1套.docx
- 中国民航科学技术研究院2024年度面向社会公开招聘工作人员笔试模拟试题及答案详解一套.docx
- 中国地质科学院矿产资源研究所2025年度公开招聘工作人员(第一批)笔试模拟试题及参考答案详解一套.docx
- 中国地质科学院地质力学研究所2024年度社会在职人员公开招聘笔试备考题库及答案详解1套.docx
- 中国疾病预防控制中心2024年度公开招聘学校卫生领域学科带头人笔试备考题库参考答案详解.docx
- 中国热带农业科学院南亚热带作物研究所2025年第二批公开招聘工作人员笔试模拟试题及答案详解一套.docx
文档评论(0)