由于实习工作所需,大量图片做成方的精良不要丢失图片里面的内容,当时不怎么想用PS,因为懒得安装,就直接用电脑上的画画编辑图片,凭感觉拖拉,做个大概的方行还可以,但是拖出来的白色部分不相同,有强迫症的我做了几张就看不下去了,我就不得不去安装PS了(真香)。
安装后还是不会使用啊(0基础),到处查资料,勉强能够改为我想要的,但是一张一张太慢了,问同事怎么处理这么多的图片,最后从同事那里得到一个PS录制的动作,才发现PS可以录制动作,但是背景是白色的,我想要透明的,于是又去研究怎么录制动作,慢慢的会了,录制了一个我只的编辑的动作,其实效率已经提高了很多,但是每张图片都要手动输入宽高,还是很麻烦。
我就想要是这个动作能够自己添加判断语句就好了,但是都没找到,在百度问题的时候不知道在哪里看到了能够通过PS脚本处理图片。下图是百度记录
于是又开始琢磨怎么制作这个脚本,就知道和JS的语法差不多,在Adobe官网找到了开发API,但是都是英文的PDF。
没办法慢慢尝试做,实在找不到怎么开头,还是去网上找了一下代码,开始尝试修改,添加,最后勉强能够实现批量制作出白底方形,最大功劳还是resizeCanvas这个函数,但是我是想要透明背景啊,对照PS动作,就是少了一步解锁图层,但是花了很多时间去找怎么通过代码解锁图层,但是国内太少了相关的资料,通过之前找代码时找到的这个来到了他推荐的文章《谁说设计师不会写代码?超简单Photoshop脚本语言介绍》 ,在文章中找到推荐的国外的相关论坛PS-Script,最后经过很久找到了一个教学视频(很多部分都是需要付费,不推荐),看来目录讲得很多通用知识点,但是由于需要付费看了一下前面免费的又继续开始找解决方法,其中在多个网课网站搜索相关的教学都没有,后面搜索PS 的脚本开发工具名的一部分ExtendScript,一个一个网页点进去看,最终打开了一个名叫库学堂的网站,然后发现里面都是文字表述,但是分章节点很想之前那个视频网站的样子,最后发现完全一样,在这个站点看了那个视频后需要付费的部分找到了我需要方法。然后该进程序实现了我第一个觉得有些实用的PS脚本。
代码附上:
/*
2019/3/9 11:40
*/
var seq_path = prompt("请输入图片所在文件目录:", "D:/\Xujoe/\PS脚本/\cs1", "批量导入图片到图层");
var sourceFolder = Folder(seq_path);
Folder(seq_path + "/PS");
if (sourceFolder != null) {
// 获得文件夹下所有文件
var fileList = sourceFolder.getFiles();
for (var i = 0; i < fileList.length; i++) {
if (fileList[i] instanceof File && fileList[i].hidden == false) {
var docRef = app.open(fileList[i]); //docRef相当于 app.activeDocument
var layername = app.activeDocument.activeLayer.name;
$.writeln(layername);
var layer = app.activeDocument.artLayers.getByName(layername);
layer.fillOpacity = 100;
var w = docRef.width;
var h = docRef.height;
if (w > h) {
docRef.resizeCanvas(w, h + (w - h));
} else {
docRef.resizeCanvas(w + (h - w), h);
}
saveDoc_png(docRef);
//这有问题 ,明明参数是不保存关闭,但是还是提醒关闭
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
}
}
//save document png type
function saveDoc_png(currentDoc) {
saveFilePath = new File(currentDoc.path + '/0_' + currentDoc.name);
SaveOptions = new PNGSaveOptions();
currentDoc.saveAs(saveFilePath, SaveOptions, true, Extension.LOWERCASE);
}