photoshop 批量导出每个图层为独立图像
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | // 导出所有图层为单独文件,并以图层名命名 #target photoshop // 检查是否有打开的文档 if (app.documents.length === 0) { alert( "请先打开一个包含多个图层的PSD文件!" ); } else { var doc = app.activeDocument; // 创建导出文件夹 var outputFolder = Folder.selectDialog( "请选择保存导出的文件夹" ); if (outputFolder == null) { alert( "未选择文件夹,脚本已取消!" ); } else { // 保存原始状态 var originalRulerUnits = app.preferences.rulerUnits; app.preferences.rulerUnits = Units.PIXELS; // 遍历所有图层并导出 for (var i = 0; i < doc.layers.length; i++) { var layer = doc.layers[i]; if (layer.typename === "ArtLayer" && layer.visible) { // 仅导出可见图层 var layerName = layer.name.replace(/[\\\/:*? "<>|]/g, " "); // 移除非法字符 var layerFile = new File(outputFolder + "/" + layerName + ".png" ); // 复制图层并保存 duplicateAndSaveLayer(doc, layer, layerFile); } } // 恢复原始状态 app.preferences.rulerUnits = originalRulerUnits; alert( "所有图层已成功导出!" ); } } // 复制当前图层并保存为文件 function duplicateAndSaveLayer(doc, layer, file ) { var tempDoc = app.documents.add(doc.width, doc.height, doc.resolution, layer.name, NewDocumentMode.RGB, DocumentFill.TRANSPARENT); app.activeDocument = doc; layer.copy(); app.activeDocument = tempDoc; tempDoc. paste (); var pngSaveOptions = new PNGSaveOptions(); tempDoc.saveAs( file , pngSaveOptions, true , Extension.LOWERCASE); tempDoc.close(SaveOptions.DONOTSAVECHANGES); } |
将上述内容保存为:ExportLayersAsFiles.jsx
- 然后,打开Photoshop。
- 点击菜单
文件 > 脚本 > 浏览...
,选择保存的.jsx
文件。 - 运行脚本即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
2023-12-14 临时命令行传输数据
2021-12-14 ubuntu20.04 关闭升级提示