photoshop插件开发入门

photoshop 学习资料和sdk

下载地址https://developer.adobe.com/console/servicesandapis/ps

脚本编程文档

官方文档: https://extendscript.docsforadobe.dev/
官方文档: https://helpx.adobe.com/hk_en/photoshop/using/scripting.html

open(new File(“/Users/weiwenzhang/Downloads/waifu.png”))

var docRef = app.open (new File("/Users/weiwenzhang/Downloads/person_dog.jpg"))

Photoshop ExtendScript开发和调试工具

客户端工具ExtendScript-Toolkit

https://github.com/Adobe-CEP/CEP-Resources/tree/master/ExtendScript-Toolkit

如果安装了photoshop, 运行环境就可以从 ExtendScript Toolkit CC 改为photoshop了!
image.png

切换运行环境

在这里插入图片描述

导出为jsxbin( File → Export as Binary)
@JSXBIN@ES@2.0@MyBbyBn0ABJAnAEjzFjBjMjFjSjUBfRBFeFjIjFjMjMjPff0DzACByB
导出的jsxbin可以直接在photoshop中运行
photoshop运行jsxbin执行结果
image.png

vs code 可以安装 插件 ExtendScript Debugger

BridgeTalk对文件操作
https://github.com/Adobe-CEP/CEP-Resources/blob/master/ExtendScript-Toolkit/Samples/javascript/SaveAsDifferentFileType.jsx

photoshop插件下载(如ScriptingListener)

监听photoshop动作
https://helpx.adobe.com/photoshop/kb/downloadable-plugins-and-content.html

Dollar($)对象

https://extendscript.docsforadobe.dev/extendscript-tools-features/dollar-object.html


其他参考文档
https://www.adobepress.com/articles/article.asp?p=433750&seqNum=2
https://theiviaxx.github.io/photoshop-docs/Photoshop/Application/open.html
其他文档https://github.com/Adobe-CEP/CEP-Resources/tree/master/Documentation/Product%20specific%20Documentation/Photoshop%20Scripting
可参考的文章https://blog.csdn.net/greless/category_10532767.html

内容识别填充

https://stackoverflow.com/questions/20719737/photoshop-cs5-script-fill-content-aware

function contentAwareFill() {//works only with selectiontry {var SB = activeDocument.selection.bounds} catch (e) {alert('content aware fill needs a selection'); return};//100% opacity, normal blending content aware fillvar desc = new ActionDescriptor();desc.putEnumerated( charIDToTypeID( "Usng" ), charIDToTypeID( "FlCn" ), stringIDToTypeID( "contentAware" ) );executeAction( charIDToTypeID( "Fl  " ), desc, DialogModes.NO ); 
}

Finally you can further manipulate the “cleaned” output with stringIDs, for instance this way:

function duplicateLayer(layerName, blendMode) { function s2t(s) { return app.stringIDToTypeID(s) } var d1 = new ActionDescriptor(); var d2 = new ActionDescriptor(); d2.putString(s2t("name"), layerName); d2.putEnumerated(s2t("mode"), s2t("blendMode"), s2t(blendMode)); d1.putObject(s2t("new"), s2t("layer"), d2); d1.putEnumerated(s2t("using"), s2t("areaSelector"), s2t("selectionEnum")); d1.putBoolean(s2t("copy"), true); executeAction(s2t("make"), d1, DialogModes.NO); 
};

photoshop插件下载(如ScriptingListener)

https://helpx.adobe.com/photoshop/kb/downloadable-plugins-and-content.html

$.writeln(typeIDToStringID(charIDToTypeID('Nm  '))); // name 
$.writeln(typeIDToStringID(charIDToTypeID('Md  '))); // mode 
$.writeln(typeIDToStringID(charIDToTypeID('BlnM'))); // blendMode 
$.writeln(typeIDToStringID(charIDToTypeID('Drkn'))); // darken 
$.writeln(typeIDToStringID(charIDToTypeID('Nw  '))); // new 
$.writeln(typeIDToStringID(charIDToTypeID('Lyr '))); // layer 
$.writeln(typeIDToStringID(charIDToTypeID('Usng'))); // using 
$.writeln(typeIDToStringID(charIDToTypeID('ArSl'))); // areaSelector 
$.writeln(typeIDToStringID(charIDToTypeID('Slct'))); // selectionEnum 
$.writeln(typeIDToStringID(charIDToTypeID('Cpy '))); // copy 
$.writeln(typeIDToStringID(charIDToTypeID('Mk  '))); // make$.writeln(typeIDToStringID(charIDToTypeID('Nm  ')));//name
$.writeln(typeIDToStringID(charIDToTypeID( "Usng" )));//using
$.writeln(typeIDToStringID(charIDToTypeID( "FlCn" )));//fillContents
$.writeln(typeIDToStringID(stringIDToTypeID( "contentAware" )));//contentAware
$.writeln(typeIDToStringID(charIDToTypeID( "Fl  " )));//fill

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/145684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系

参考链接 本人学习使用,侵权删谢谢。用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系 CUDA CUDA是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,是一种并行计算平台和编程模型&…

计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)

第1章:视觉项目资料介绍与学习指南 相关知识: 介绍计算机视觉、OpenCV库,以及课程的整体结构。学习概要: 了解课程的目标和学习路径,为后续章节做好准备。重要性: 提供学生对整个课程的整体认识&#xff0…

虹科示波器 | 汽车免拆检修 | 2014款保时捷卡宴车行驶中发动机偶尔自动熄火

一、故障现象 一辆2014款保时捷卡宴车,搭载4.8L自然吸气发动机,累计行驶里程约为10.3万km。车主反映,行驶中发动机偶尔自动熄火,尤其在减速至停车的过程中故障容易出现。 二、故障诊断 接车后路试,确认故障现象与车主所…

mysql group by 执行原理及千万级别count 查询优化

大家好,我是蓝胖子,前段时间mysql经常碰到慢查询报警,我们线上的慢sql阈值是1s,出现报警的表数据有 7000多万,经常出现报警的是一个group by的count查询,于是便开始着手优化这块,遂有此篇,记录下…

torch - FloatTensor标签(boolean)数值转换(1/0)

当我们数据集的标签为True/False的boolean型时,我们可以直接使用FloatTensor传入该标签。返回的数据为tensor([0.])或者tensor([1.]),这十分有利于二分类任务的预测标签对错判断。 这个用法是基于Python的布尔类型与整数之间的隐式类型转换。在Python中&…

PostgreSQL 数据类型

文章目录 PostgreSQL数据类型说明PostgreSQL数据类型使用单引号和双引号数据类型转换布尔类型数值类型整型浮点型序列数值的常见操作 字符串类型日期类型枚举类型IP类型JSON&JSONB类型复合类型数组类型 PostgreSQL数据类型说明 PGSQL支持的类型特别丰富,大多数…

编译和链接

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1. 翻译环境和运行环境 2. 翻译环境 2.1 预处理(预编译) 2.2 编译 2.2.1 词法分析: 2.2.2 语法分析 2.2.3 语义分析 2.3 汇编 2…

MXNet中图解稀疏矩阵(Sparse Matrix)的压缩与还原

1、概述 对于稀疏矩阵的解释,就是当矩阵里面零元素远远多于非零元素,且非零元素没有规律,这样的矩阵就叫做稀疏矩阵,反过来就是稠密矩阵,其中非零元素的数量与所有元素的比值叫做稠密度,一般稠密度小于0.0…

搭建知识付费系统的最佳实践是什么

在数字化时代,搭建一个高效且用户友好的知识付费系统是许多创业者和内容创作者追求的目标。本文将介绍一些搭建知识付费系统的最佳实践,同时提供一些基本的技术代码示例,以帮助你快速入门。 1. 选择合适的技术栈: 搭建知识付费…

Vim + YCM + clangd

目录 1. Vim的安装 1.1 Vim安装vim-plug2. 安装YCM3. 进行语言补全配置 3.1 测试效果 1. 目的:让 Vim 像 C/C IDE 一样具备自动补全代码等功能 2. YCM:YouCompleteMe GitHub - ycm-core/YouCompleteMe: A code-completion engine for Vi…

C#asp.net考试系统+sqlserver

C#asp.net简易考试系统 sqlserver在线考试系统学生登陆 判断学生是否存在 选择课程名 科目 可以进行答题操作,已经考试的课程不能再次答题, 自动根据课程名对应的题库生成试卷界面 加入选项类容 说明文档 运行前附加数据库.mdf(或sql生成数…

【机器学习】线性回归算法:原理、公式推导、损失函数、似然函数、梯度下降

1. 概念简述 线性回归是通过一个或多个自变量与因变量之间进行建模的回归分析,其特点为一个或多个称为回归系数的模型参数的线性组合。如下图所示,样本点为历史数据,回归曲线要能最贴切的模拟样本点的趋势,将误差降到最小。 2. 线…

Android并发编程与多线程

一、Android线程基础 1.线程和进程 一个进程最少一个线程,进程可以包含多个线程进程在执行过程中拥有独立的内存空间,而线程运行在进程内 2.线程的创建方式 new Thread: 缺点:缺乏统一管理,可能无限制创建线程&…

卷积神经网络(CNN)mnist手写数字分类识别的实现

文章目录 前期工作1. 设置GPU(如果使用的是CPU可以忽略这步)我的环境: 2. 导入数据3.归一化4.可视化5.调整图片格式 二、构建CNN网络模型三、编译模型四、训练模型五、预测六、知识点详解1. MNIST手写数字数据集介绍2. 神经网络程序说明3. 网…

servlet页面以及控制台输出中文乱码

如图: servlet首页面: servlet映射页面: 以及控制台输出打印信息: 以上页面均出现中文乱码 下面依次解决: 1、首页面中文乱码 检查你的html或者jsp页面中meta字符集 如图设置成utf-8 然后重启一下tomcat 2、servl…

企业数字化过程中数据仓库与商业智能的目标

当前环境下,各领域企业通过数字化相关的一切技术,以数据为基础、以用户为核心,创建一种新的,或对现有商业模式进行重塑就是数字化转型。这种数字化转型给企业带来的效果就像是一次重构,会对企业的业务流程、思维文化、…

【数据结构与算法】JavaScript实现树结构(一)

文章目录 一、树结构简介1.1.简单了解树结构1.2.树结构的表示方式 二、二叉树2.1.二叉树简介2.2.特殊的二叉树2.3.二叉树的数据存储 三、二叉搜索树3.1.认识二叉搜索树3.2.二叉搜索树应用举例 一、树结构简介 1.1.简单了解树结构 什么是树? 真实的树:…

VS2017 IDE 编译时的 X86、x64位 是干什么的

指定编译出的程序是x86架构下的32位程序还是64位程序 VS2017项目配置X86改配置x64位_winform:把项目由x86改为x64-CSDN博客 vs平台选项:Any CPU,x86,x64_vs anycpu-CSDN博客

Jenkins中强制停止停不下来的job

# Script console 执行脚本 Jenkins 的提供了 script console 的功能,允许你写一些脚本,来调度 Jenkins 执行一些任务。 我们就可以利用 script console 来强制停止 job 执行。 首先进入 Jenkins 的 script console 页面: script console 路…

如何利用TSINGSEE青犀智能分析网关算法从人员、设备、行为三大角度进行监狱智能化升级改造

监狱作为关押犯人的重要场所,十分需要全天候全方位无死角的监控,但由于狱警人力有限,无法达到目前的监控需求。并且在监狱中,犯人众多也极易发生口角冲突,如若没有及时处理,就会发生难以挽回的意外。如何更…