有些网站进不去,该翻墙的翻墙
一、Photoshop Plug-In and Connection SDK(C ++ SDK)
使用C ++ SDK构建强大的底层集成。创建过滤器,提供对其他图像格式的支持,创建新的选择器等。
Plug-in SDK主要包含八种插件模块
- 导出模块
导出插件模块旨在从打开的Photoshop文档输出信息。这与导入插件相反。使用示例包括导出到专有设备或显示器,以及导出特定数据(例如路径或资源)。【文件】-【导出】菜单 - 滤镜模块
滤镜插件模块是Photoshop插件模块中最常见的模块。它们允许编辑像素数据,例如特殊图像效果。【滤镜】菜单 - 拾色器模块
拾色器插件模块是从“文件”>“首选项”>“常规”首选项面板中选择的,并允许插件显示其自己的UI,供用户选择颜色。 - 选择模块
选择插件模块就像“智能魔术棒”一样,可以迭代像素数据并基于该数据返回选择或返回路径。【选择】菜单 - 自动化模块
自动化插件模块可访问所有Photoshop可编写脚本的事件。这些模块出现在“ 自动”菜单或“ 帮助”菜单下。【文件】-【自动】菜单 - 格式化模块
文件格式化插件模块旨在读取和写入Photoshop不支持即用型的文件。文件格式插件模块已集成到Photoshop的“ 打开”和“ 另存为”对话框类型中。 - 导入模块
导入插件模块用于从附加硬件(例如扫描仪或摄像机)捕获图像,并将这些图像放入新的Photoshop文档窗口中。【文件】-【导入】菜单 - 堆栈渲染器模块
堆栈渲染器插件模块将智能对象的图像堆栈渲染为单个图像。
Connection SDK 用于Photoshop建立TCP连接(即基于大多数Internet所依赖的同一协议),并发送/接收脚本消息和图像数据
二、Common Extensibility Platform (CEP, Panel SDK)
通用扩展平台,也就是常说的HTML面板插件。
它们是由Photoshop CC引入的,是脚本基础上的强大接口。实际上,HTML
面板是一种特殊的Web应用程序(运行在CEF - Chromium嵌入式框架中,类似于托管在Photoshop中的谷歌Chrome浏览器的实例)
使用HTML,CSS和JS与CEP构建经典扩展。基于ECMAScript 3,使用ExtendScript自动化应用内工作流程。
一般在【窗口菜单】-【扩展功能】-cep面板
三、Generator SDK
生成器
Adobe Generator是一个令人着迷的框架,其中,实时 生成特性是基于它依赖于一个运行在后台的Node.js服务器,可以作为一个并行引擎,用于与传统的ExtendScript代码集成,与外部服务交换数据,或者作为一个内部服务器。
生成器:最初是在Photoshop CC(14.1)中发布的,它主要是作为一种可以根据图层名称在背景中导出图像的技术。对于开发人员来说,更有趣的是:核心是一个与通过ExtendScript消息的Photoshop -你将主要使用生成器从应用程序实时访问/提取资源。
一般在【文件】菜单-【生成】下面
四、Scripting(ExtendScript)
在线Photoshop ExtendScript API Adobe Photoshop CC 2015.5 对象库
脚本也能做界面,具体查看scriptUI
五、Photoshop API
一起使用Photoshop,Lightroom和Sensei创建基于Web或服务器的工作流,以剪切图像,重排横幅广告等。
六、UXP(Unified Extensibility Platform 统一扩展平台)
photoshop 2021版本推出,新一代插件平台
使用现代HTML,CSS和JavaScript构建高性能插件。UXP是适用于Photoshop 22及更高版本的下一代插件API。
七、COM类型库
c++ 脚本用法
https://blog.csdn.net/greless/article/details/115516095
// 从类型库向导中用“添加类”创建的计算机生成的 IDispatch 包装类
//#import "C:\\Program Files (x86)\\Adobe\\Adobe Photoshop CC 2017 (32 Bit)\\Required\\Plug-ins\\Extensions\\ScriptingSupport.8li" no_namespace
// CActionDescriptor 包装类
// 初始化com 库
CoInitialize(NULL);
CApplication _app;
if (!_app.CreateDispatch(_T("photoshop.Application.110"), NULL))
{
AfxMessageBox(_T("启动PS服务器失败!"));
return ;
}
AfxMessageBox(_app.get_CurrentTool());