admin管理员组文章数量:1564666
ps编程主要用的js + dom基础,
可参考资料:
参考jsx开发:
各种工具:https://blog.csdn/greless/article/details/105975027
操作Excel:https://blog.csdn/greless/article/details/109486277
日志输出:https://www.jianshu/p/e28efe05853e
w3cSchool-js:https://www.w3school/jsref/index.asp
Photoshop 脚本参考文档中文翻译:https://gitee/code_yu/photoshop-javascript
详细脚本代码分类:http://www.coolketang/psscript/menu4lesson4.php
Log还是挺重要的
对于不熟悉的语言,很多用法都是第一次写,特别是这种脚本,判断空这些打印还是在调试和开发过程中所必须的;
日志封装代码:https://www.jianshu/p/e28efe05853e
例如我想做一个很简单的功能,遍历layers,并移动
运行脚本总是提示:参数不对或者,没有函数
实际的错误肯定不是如此
打印一下就一清二楚,知道脚本的错误停在了 LayerSet,和前面的ArtLayer不同;这下就能确定问题了
[INFO] ==== log start ====
[INFO] [LayerSet 分组]
[INFO] [ArtLayer return]
[INFO] [ArtLayer 角标]
[INFO] [ArtLayer 钻石]
[INFO] [LayerSet Buy@Button]
Log还不够,还要天才的思想
就算有了log,还是有个很坑的地方,ArtLayer和LayerSet的move()方法,有二义性
根本没法按照官网api文档,或者网上说的做法去实现
用下科学上网,发现国外很多科学天才,提的建议才能绕开这个坑:
if(layer.typename=="LayerSet") {
//哈哈,是挺Dummy的。。。。
//Dummy的方法,但可以用,可是:
//因为这里add 一个 dummy 层会造成psd.layers错乱,前面又必须做一个数组缓存
var dummpGroup= rootLayer.layerSets.add();
dummpGroup.name = "dummy";
layer.move(dummpGroup, ElementPlacement.PLACEBEFORE);
dummpGroup.remove();
}else {
layer.move(rootLayer, ElementPlacement.INSIDE);
}
有论坛好办事
有一个复制到Windows粘贴板的需求,百度了以下,发现还是有社区好办事
http://ps-scripts/bb/viewtopic.php?f=9&t=3097&p=15324&hilit=clipboard&sid=1b1cc023023b9f91ab46e30e48e2ab53#p15324
下面终于可以开始js编程了
JavaScript数组
写法就是:var array = [];
当然你可以这么写:var array = ["1111","组1","f3334343",333456],但一般用不上,都是动态的,不会这么用
最终分析:基本功还是很重要,就是有一些方便的脚本或者utility,还是不如自己写一遍来的实际
var layers = [];
layers.push(1);
layers.pop();
基础psd dom
我看的是cc 2015 javascripts ref的文档
ArtLayer和LayerSet的区别
Visible
打印了一下,完全不能用
看目录是没有用的
看看内容
数量
Photoshop脚本 > 添加新图层
窗口
alert
alert("");
window
new window("??");
prompt
var stemsAmount = prompt("How many stems do you need?", 12, "Processing ??");
参考
版权声明:本文标题:Photoshop脚本编程jsx开发三:ps的基础操作,文档结构等 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1727118997a1098326.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论