本文最后更新于47 天前,其中的信息可能已经过时,如有错误请发送邮件到2337589859@qq.com
function processImage(doc) {
//检测图层名,选取第一个图层
var layerName = doc.artLayers[0].name; //获取第一个图层的名字
var layer = doc.activeLayer; //创建变量 若不懂的话可以不用管,照抄就行
//复制对图层进行复制
layer.copy();
var jpegQuality = 12; // JPEG图片质量,范围是0到12
var jpegOptions = new JPEGSaveOptions();
jpegOptions.quality = jpegQuality;
// 开始处理
if (layerName == "1") {
// 如果找到名为 "1" 的图层,则打开竖铁皮批量处理.psd 我以1人工命名来筛选出竖图,
//所以需要手动执行动作里的竖图层命名
var verticalFile = new File("D:/图片处理/竖铁皮批量处理 - 副本.psd"); //这里是你存放竖铁皮批量处理 - 副本.psd的文件路径,可以自己修改,例如可以改到桌面
app.open(verticalFile); //执行在ps中打开文件的命令
app.doAction("shu1", "tiepi"); //执行动作目录tiepi下的shu1动作,后续可以自己录动作,这里的动作是将图片添加到竖铁皮批量处理.psd中进行变换图层,
//原理是你处理好第一张图片后,就要将这张图片导出保存,执行动作就是让它处理图片,脚本就是代替你执行那个动作,然后导出命名。
// 设置JPEG导出选项
var jpegOptions = new JPEGSaveOptions();
jpegOptions.quality = jpegQuality;
var reg2 = new RegExp(".psd"); //
var fileName1 = fileName.replace(reg2,"");
var num=1;
var exportFileName = exportFolderPath + "/" + fileName1 + "-" + num + ".jpg";
doc.saveAs(new File(exportFileName), jpegOptions, true, Extension.LOWERCASE);//意思是将图层进行保存,保存为jpg。
//此处原理是,执行完第一个动作后,将图片导出一次,共导出六次,则是六张图片,设置num=1,既符合格式的货号+“-”+“数字”,以下皆同。
var num=2;
app.doAction("one", "tiepi");
var exportFileName = exportFolderPath + "/" + fileName1 + "-" + num + ".jpg";;
doc.saveAs(new File(exportFileName), jpegOptions, true, Extension.LOWERCASE);
var num=3;
app.doAction("three", "tiepi");
var exportFileName = exportFolderPath + "/" + fileName1 + "-" + num + ".jpg";;
doc.saveAs(new File(exportFileName), jpegOptions, true, Extension.LOWERCASE);
var num=4;
app.doAction("four", "tiepi");
var exportFileName = exportFolderPath + "/" + fileName1 + "-" + num + ".jpg";;
doc.saveAs(new File(exportFileName), jpegOptions, true, Extension.LOWERCASE);
var num=5;
app.doAction("five", "tiepi");
var exportFileName = exportFolderPath + "/" + fileName1 + "-" + num + ".jpg";;
doc.saveAs(new File(exportFileName), jpegOptions, true, Extension.LOWERCASE);
var num=6;
app.doAction("six", "tiepi");
var exportFileName = exportFolderPath + "/" + fileName1 + "-" + num + ".jpg";;
doc.saveAs(new File(exportFileName), jpegOptions, true, Extension.LOWERCASE);
app.doAction("seven", "tiepi");
//此处动作是将图层复位
} else if (layerName == "2") {
// 如果找到名为 "2" 的图层,则打开横铁皮批量处理.psd,我以2人工命名来筛选出横图,
//所以需要手动执行动作里的横图并命名
var horizontalFile = new File("D:/图片处理/横铁皮批量处理 - 副本.psd");
app.open(horizontalFile);
app.doAction("heng1", "tiepi1");
// 设置JPEG导出选项
var jpegOptions = new JPEGSaveOptions();
jpegOptions.quality = jpegQuality;
var num=1;
var exportFileName = exportFolderPath + "/" + fileName1 + "-" + num + ".jpg";;
doc.saveAs(new File(exportFileName), jpegOptions, true, Extension.LOWERCASE);
var num=2;
app.doAction("one", "tiepi1");
var exportFileName = exportFolderPath + "/" + fileName1 + "-" + num + ".jpg";;
doc.saveAs(new File(exportFileName), jpegOptions, true, Extension.LOWERCASE);
var num=3;
app.doAction("three", "tiepi1");
var exportFileName = exportFolderPath + "/" + fileName1 + "-" + num + ".jpg";;
doc.saveAs(new File(exportFileName), jpegOptions, true, Extension.LOWERCASE);
var num=4;
app.doAction("four", "tiepi1");
var exportFileName = exportFolderPath + "/" + fileName1 + "-" + num + ".jpg";;
doc.saveAs(new File(exportFileName), jpegOptions, true, Extension.LOWERCASE);
var num=5;
app.doAction("five", "tiepi1");
var exportFileName = exportFolderPath + "/" + fileName1 + "-" + num + ".jpg";;
doc.saveAs(new File(exportFileName), jpegOptions, true, Extension.LOWERCASE);
var num=6;
app.doAction("six", "tiepi1");
var exportFileName = exportFolderPath + "/" + fileName1 + "-" + num + ".jpg";;
doc.saveAs(new File(exportFileName), jpegOptions, true, Extension.LOWERCASE);
app.doAction("seven", "tiepi1");
}
}// 设置图片中转站,将要处理的图片拖到这个路径下
var sourceFolderPath = "D:/图片处理/新建文件夹 (2)";
// 设置导出文件的文件夹路径
var exportRootFolderPath = "D:\图片处理\导出文件夹";
// 设置文件名的前缀和后缀,
var prefix = 'GT';
var startNumber = 1239; //起始数
var endNumber = 1598;//结束数
var fileExtension = '.psd'; // 源文件扩展名,圆形是.png格式,无需人工分别是横着的矩形铁皮或者是竖着的,所以
var exportExtension = '.jpg'; // 导出文件扩展名
// 创建一个文件夹对象
var sourceFolder = new Folder(sourceFolderPath);
// 获取文件夹中的所有文件
var files = sourceFolder.getFiles();
// 遍历文件编号范围
for (var i = startNumber; i <= endNumber; i++) {
var fileName = prefix + i.toString() + fileExtension;
// 遍历文件夹中的所有文件,找到匹配的文件名
for (var j = 0; j < files.length; j++) {
if (files[j].name === fileName) {
// 打开文件
var doc = app.open(files[j]);
// 创建以文件名命名的子文件夹
var subFolderName = files[j].name.replace(fileExtension, '');
var exportFolderPath = exportRootFolderPath + "/" + subFolderName; // 使用正斜杠
var exportFolder = new Folder(exportFolderPath);
if (!exportFolder.exists) {
exportFolder.create();
}
// 处理图片
processImage(doc);
// 关闭当前活动文档,不保存更改
doc.close(SaveOptions.DONOTSAVECHANGES);
// 跳出内层循环,继续下一个文件
break;
}
}
燃尽了
别草了孩子