photoshop插件开发

背景介绍

目前该平台软件的插件开发已经形成了相应的市场规模,有诸多专门做该平台插件的公司诞生,也有许许多多的优秀插件产品出来,满足用户对不同的设计需要,大大提升工作效率。

作为一个开发者,也开发过该平台的插件产品,期间踩过许许多多的坑,发现这个领域主要还是国外开发者居多,国内对应的资料和开发人员都比较少,中文的相关资料也都非常碎片化,不成系统。

本博客将专门投入adobe平台的插件开发研究,力求系统的将对应的知识点沉淀下来,供大家参考。


adobe插件的几种形态

第一种 脚本插件

CS6及以前的版本

对于CS6及以前的版本,开发这种面板插件需要用到FLASH的相关技术,编写 来开发功能,你需要如下的开发环境

  • FlashBuilder
  • ExtensionBuilder2

CS6之后的版本

从CC开始,adobe就打算放弃flash架构,改投html。于是在CC的版本中加入了html架构的面板支持,并且在CC2014开始直接废弃了flash的插件架构。这也是为什么你看到很多以前用的插件都无法再CC2014/15上跑起来,并且这些插件的开发者也停止更新了(因为技术架构变了哇~~需要重新写代码)

但是adobe抛弃flash转投html是明智的,html架构更轻量,跨平台兼容性更好,配上chromium的支持,现在已经随处可见了~~ 本博客也会重点介绍基于html架构下的面板开发技术。

HTML: 负责面板的界面结构和内容组成
CSS: 负责面板的样式展现
JAVASCRIPT: 负责面板的用户交互和行为逻辑
ExtensionScript: 负责与宿主ps通信

这里不深入介绍具体的开发指南,后面会专门写文章开发入门的文章介绍相关内容。

这种面板插件是目前最流行的插件方式,墙裂推荐。

第三种 独立软件

除了ps自带的面板之外,还有一些独立的第三方软件,他们也可以和photohsop进行交互,对设计稿进行一些处理,下面是一个例子:

这里写图片描述

这是一种独立的外挂,和普通客户端软件类似,需要单独安装,安装成功后,打开PS,他们可以和PS进行通信。

这种第三方软件,可以通过photoshop提供的com库进行通信,下面是一段简单的VB代码,可以在PS中新建一个文档,新建一个文字图层

于是,你可以用visual studio,建立一个VB或者VC项目,然后通过引用ps的com库

adobe photoshop cc object library

这里就不深入介绍了
如果有需要,后续专门写VB开发面板的教程~~

这种插件适合对VB比较熟悉的同学,VB本身上手比较容易,借助VS可以快速弄出一个简单的交互界面。

第四种 基于C++的内置插件

如果你有在 上下载过一些PS的滤镜之类的东西,你就涉及到这类的插件,他们经常以xxx.8lixxx.8bx 之类的后缀结尾,这类插件你需要手动放到PS安装目录的plug-Ins目录下,然后启动PS之后他们就会自动加载,一个比较典型的这种插件就是PS自带的camera-raw

这种插件的开发依赖adobe发布的sdk,可以在官 下载,sdk里头也提供了许多的sample,可以提供参考。开发完成之后,通过编译生成对应的.8li文件,放到插件目录下,即可运行。

这种插件由于用C写的,并且可以通过SDK直接和PS核心进行通信,在处理图像上有天然的计算(速度)优势,所以一般被用来做图像处理相关的功能。另外,它无法实现界面,需要单独的面板来提供支持,也因此,它对开发人员的技术能力要求更高。

总结

到这里你会发现,adobe的插件形式真实多啊~~~

其实,针对PS的扩展方式,还远不止上面这些形式,你几乎可以用你熟悉的任何语言来开发ps扩展,基于com库的话,你甚至可以用python来和PS进行交互

还有,随着PS的版本不断升级,在扩展的支持上也提供了更多的特性,比如automate,generator,还接入了nodejs,有了这玩意,你几乎能搞所有的事情!注意,是所有的事情!

所以,你可以选择一种你想要的方式来为PS提供扩展。

最后,如果你对上面的某些内容感兴趣,请在评论里头留言,偶会在后面的文章中深入介绍。

一些参考资料

说实话,adobe的插件开发参考资料,实在实在实在是太TM少了!而且分散在各处,非常零散,并且 区方面,也内容不多,需要花很多心思去找。偶在这方面也是耗费了好多时间,在这里分享给大家

官方开发文档

  • CC_Extension_SDK.pdf 这篇属于入门类的文档,帮助你搭建开发和调试环境
  • Javascript Tool Guide.pdf 提供了ExtensionScript的一些常用API和使用方法,比如本地文件操作等
  • photoshop scripting guide.pdf 这篇文档详细列举了PS提供的操作各种对象文档、图层、路径、颜色等对象的API
  • 官方SDK, 这个SDK主要是提供给C++开发使用的

区、博客、论坛

  • 官方博客
  • 官方论坛
  • 国外大牛david的博客,该大牛正在写一本如何开发PS插件的书,大家可以点这里去看看
  • stackoverflow 额,不解释,有些问题,还真可以在这里头找到答案
  • 官方CEP代码资源

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年11月6日
下一篇 2015年11月6日

相关推荐