PS2025:JSX脚本一键修复老照片,附多场景处理要点!
```jsx #target photoshop // 定义修复老照片的函数 function repairOldPhoto() { // 打开文件选择对话框,让用户选择要修复的老照片 var file = File.openDialog("请选择要修复的老照片"); if (file != null) { app.open(file); // 获取当前活动文档 var doc = app.activeDocument; // 去除照片中的划痕和污点 var healBrush = new ActionDescriptor(); putInteger(healBrush, "Version", 1); putEnumerated(healBrush, "Mode", "HealMode", "Replace"); executeAction(stringIDToTypeID("healingBrush"), healBrush, DialogModes.NO); // 自动调整颜色和对比度 autoColor(); autoContrast(); autoTone(); // 锐化图像 sharpenImage(doc); // 保存修复后的照片 saveDocument(doc, file.path.replace(/(.*)\.[^\.]+$/, "$1_Repaired.jpg")); doc.close(SaveOptions.DONOTSAVECHANGES); } } // 自动调整颜色 function autoColor() { var idAutoColor = stringIDToTypeID("autoColor"); executeAction(idAutoColor, undefined, DialogModes.NO); } // 自动调整对比度 function autoContrast() { var idAutoContrast = stringIDToTypeID("autoContrast"); executeAction(idAutoContrast, undefined, DialogModes.NO); } // 自动调整色调 function autoTone() { var idAutoTone = stringIDToTypeID("autoTone"); executeAction(idAutoTone, undefined, DialogModes.NO); } // 锐化图像 function sharpenImage(doc) { var desc = new ActionDescriptor(); desc.putInteger(charIDToTypeID('Rds '), 250); // 半径 desc.putInteger(charIDToTypeID('Amt '), 80); // 强度 desc.putInteger(charIDToTypeID('Thrs'), 3); // 阈值 executeAction(stringIDToTypeID('sharpenLab'), desc, DialogModes.NO); } // 保存文档 function saveDocument(doc, path) { var options = new JPEGSaveOptions(); options.quality = 12; // 设置保存质量为最高 doc.saveAs(new File(path), options, true, Extension.LOWERCASE); } // 调用修复老照片的函数 repairOldPhoto(); ``` 额外需要注意的逻辑点: - 文件路径处理时需要考虑不同操作系统之间的差异。 - 图像处理效果可能因照片的具体情况而异,需根据实际效果调整参数。 - 对于特别大的图片,处理时间可能会较长,可加入进度提示或优化算法。 ######[AI写代码神器 | 602点数解答 | 2025-03-06 15:59:01]
- JavaScript开发必知:TypeScript中JSX的原理与示例解析(阿里通义 | 235点数解答 | 2023-11-09 01:20:03)301
- 工程师必知:软件系统用户文档编写九大要点揭秘(百度文心 | 350点数解答 | 2023-11-09 18:23:53)211
- PS2025脚本助力:老旧照片修复上色秒回拍摄原貌!(DeepSeek | 532点数解答 | 2025-02-20 20:44:57)180
- jQuery与Zepto大比拼:区别解析与使用场景揭秘(阿里通义 | 215点数解答 | 2023-11-09 01:16:19)278
- CentOS下Java进程出现futex_wait_queue_me问题的处理全流程(阿里通义 | 283点数解答 | 2023-11-20 14:51:26)482
- 替雷利珠单抗致免疫相关性糖尿病:病例报道与机制探讨,为临床用药敲响警钟( | 164点数解答 | 2024-10-11 14:52:52)285
- 代码揭秘:模拟蛟龙号海底移动的 3D 场景创建全解析(DeepSeek | 506点数解答 | 2025-02-22 14:23:57)265
- 优化指南:让网页3D汽车模型更生动、更适配!(DeepSeek | 489点数解答 | 2025-03-06 03:08:58)244
- Python 代码转 C++:计算花朵鲜艳值总和(字节豆包 | 408点数解答 | 2026-04-19 21:50:57)17
- 工程师必知!LoadRunner 脚本调试的 10 大基本步骤(百度文心 | 463点数解答 | 2023-11-09 18:25:48)341
- JMeter 工程师必知:HTTP 代理服务器原理及脚本录制全流程揭秘(百度文心 | 371点数解答 | 2023-11-09 18:26:54)280
- Linux脚本:巧用if条件精准判断/home/test.txt文件是否存在(阿里通义 | 356点数解答 | 2024-11-16 16:42:28)293