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 selection
    try {var SB = activeDocument.selection.bounds} 
    catch (e) {alert('content aware fill needs a selection'); return};

    //100% opacity, normal blending content aware fill
    var 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯 string

string简介 string是C标准库的重要组成部分&#xff0c;主要用于字符串处理。 使用string库需要在头文件中包括该库 #include< string> string与char[]不同&#xff0c;string实现了高度的封装&#xff0c;可以很方便地完 成各种字符串的操作&#xff0c;比如拼接、截取…

面试题-2

1.重绘和重排有什么区别 重排(回流):布局引擎会根据所有的样式计算出盒模型在页面上的位置和大小 重绘:计算好盒模型的位置,大小和其他一些属性之后,浏览器就会根据每个盒模型的特性进行绘制 浏览器的渲染机制: 对DOM的大小,位置进行修改后,浏览器需要重新计算元素的这些几何…

儿童水杯上架亚马逊美国站CPC认证办理 ,常见儿童产品CPC认证测试要求

美国CPSC从2021/03/22开始改革&#xff0c;凡是他们管辖范围内的产品&#xff0c;都会被标记审查&#xff0c;如有相关产品请提前准备好相关文件比如CPC检测报告、认证等等&#xff0c;以备目的港海关审查。 CPC认证介绍 CPC证书即儿童产品证书&#xff0c;适用于12岁以下的儿…

2023/11/15JAVA学习

如何多开一个程序

java成员等讲解

一个源文件只有一个public类 如何调用是这个 类里面有全局用类名调用(或者对象),非全局要新一个对象来调用 class Quanjv{public static int x1;public static int y2;public int y24;} public class chengyuan {public static void main(String[] args) {Quanjv quanjvn…

MySQL(17):触发器

概述 MySQL从 5.0.2 版本开始支持触发器。MySQL的触发器和存储过程一样&#xff0c;都是嵌入到MySQL服务器的一段程序。 触发器是由 事件来触发 某个操作&#xff0c;这些事件包括 INSERT 、 UPDATE 、 DELETE 事件。 所谓事件就是指用户的动作或者触发某项行为。 如果定义了触…

继承、多态

复习 需求&#xff1a; 编写一个抽象类&#xff1a;职员Employee,其中定义showSalary(int s)抽象方法&#xff1b;编写Employee的子类&#xff0c;分别是销售员Sales和经理Manager,分别在子类中实现对父类抽象方法的重写&#xff0c;并编写测试类Test查看输出结果 package cn.…

清华镜像源地址,适用于pip下载速度过慢从而导致下载失败的问题

清华地址 https://pypi.tuna.tsinghua.edu.cn/simple下载各种各样的包的指令模板 pip install XXX -i https://pypi.tuna.tsinghua.edu.cn/simple这样就行了&#xff0c;XXX代表的是你将要下载的包名称。 比如&#xff1a; pip install opencv-python -i https://pypi.tuna.…

后端接口错误总结

今天后端错误总结&#xff1a; 1.ConditionalOnExpression(“${spring.kafka.exclusive-group.enable:false}”) 这个标签负责加载Bean&#xff0c;因此这个位置必须打开&#xff0c;如果这个标签不打开就会报错 问题解决&#xff1a;这里的配置在application.yml文件中 kaf…

【VSCode】配置C/C++开发环境教程(Windows系统)

下载和配置MinGW编译器 首先&#xff0c;我们需要下载并配置MinGW编译器。 下载MinGW编译器&#xff0c;并将其放置在一个不含空格和中文字符的目录下。 配置环境变量PATH 打开控制面板。可以通过在Windows搜索栏中输入"控制面板"来找到它。 在控制面板中&#xf…

Stable Diffusion (version x.x) 文生图模型实践指南

前言&#xff1a;本篇博客记录使用Stable Diffusion模型进行推断时借鉴的相关资料和操作流程。 相关博客&#xff1a; 超详细&#xff01;DALL E 文生图模型实践指南 DALLE 2 文生图模型实践指南 目录 1. 环境搭建和预训练模型准备环境搭建预训练模型下载 2. 代码 1. 环境搭建…

【Rust】快速教程——从hola,mundo到所有权

前言 学习rust的前提如下&#xff1a; &#xff08;1&#xff09;先把Rust环境装好 &#xff08;2&#xff09;把VScode中关于Rust的插件装好 \;\\\;\\\; 目录 前言先写一个程序看看Rust的基础mut可变变量let重定义覆盖变量基本数据类型复合类型&#xff08;&#xff09;和 [ …

[Linux] 网络文件共享服务

一、存储类型 存储类型可分为三类&#xff1a;DAS&#xff08;直连式存储&#xff09;,NAS&#xff08;网络附加存储&#xff09;,SAN&#xff08;存储区域网络&#xff09;。 1.1 DAS 定义&#xff1a; DAS是指直连存储&#xff0c;即直连存储&#xff0c;可以理解为本地文…

【软考篇】中级软件设计师 第三部分(二)

中级软件设计师 第三部分&#xff08;二&#xff09; 二十四. 概念设计阶段24.1 E-R模式24.2 E-R图 二十五. 网络和多媒体25.1 计算机网络分类25.2 OSI/RM参考模型25.3 网络互联硬件25.4 TCP/IP分层模型 二十六. IP地址26.1 子网划分26.2 特殊IP26.3 IPv626.4 冲突与和广播域26…

电池故障估计:Realistic fault detection of li-ion battery via dynamical deep learning

昇科能源、清华大学欧阳明高院士团队等的最新研究成果《动态深度学习实现锂离子电池异常检测》&#xff0c;用已经处理的整车充电段数据&#xff0c;分析车辆当前或近期是否存在故障。 思想步骤&#xff1a; 用正常电池的充电片段数据构造训练集&#xff0c;用如下的方式构造…

2023亚太杯数学建模思路 - 复盘:光照强度计算的优化模型

文章目录 0 赛题思路1 问题要求2 假设约定3 符号约定4 建立模型5 模型求解6 实现代码 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 问题要求 现在已知一个教室长为15米&#xff0c;宽为12米&…

文件包含学习笔记总结

文件包含概述 ​ 程序开发人员通常会把可重复使用函数或语句写到单个文件中&#xff0c;形成“封装”。在使用某个功能的时候&#xff0c;直接调用此文件&#xff0c;无需再次编写&#xff0c;提高代码重用性&#xff0c;减少代码量。这种调用文件的过程通常称为包含。 ​ 程…

修改ubuntu终端目录背景颜色

Ubuntu终端上有部分目录是黄绿色底色&#xff0c;看着很不舒服。如下图所示&#xff1a; 这是由于修改用户权限导致的问题。 通过下面指令可以看到 echo $LS_COLORS | grep "ow" ​ 可以看到ow的默认参数是34:42ow:OTHER_WRITABLE&#xff0c;即其他用户可写权限 …

【C++11】线程库

文章目录 thread 线程库mutex 锁atomic 原子性操作condition_variable 条件变量实现两个线程交替打印1-100 thread 线程库 在C11之前&#xff0c;涉及到多线程问题&#xff0c;都是和平台相关的&#xff0c;比如Windows和Linux下各有自己的接口&#xff0c;这使得代码的可移植…

Spring Framework 简介与起源

Spring是用于企业Java应用程序开发的最流行的应用程序开发框架。全球数百万开发人员使用Spring Framework创建高性能、易于测试和可重用的代码。 Spring Framework是一个开源的Java平台。它最初由Rod Johnson编写&#xff0c;并于2003年6月在Apache 2.0许可下首次发布。 Spri…