Photoshop脚本:自动计算图层宽高比并调整大小与居中
以下是一个满足你需求的 Photoshop 脚本代码: ```javascript // 获取当前文档 var doc = app.activeDocument; // 遍历文档中的所有图层 for (var i = 0; i < doc.layers.length; i++) { var layer = doc.layers[i]; // 计算图层的宽高比 var aspectRatio = layer.bounds[2] - layer.bounds[0] / (layer.bounds[3] - layer.bounds[1]); // 根据宽高比调整图层大小 if (aspectRatio > 1) { // 如果宽高比大于1,将宽度设置为900像素 layer.resize(900 / (layer.bounds[2] - layer.bounds[0]) * 100, null, AnchorPosition.MIDDLECENTER); } else { // 如果宽高比小于等于1,将高度设置为900像素 layer.resize(null, 900 / (layer.bounds[3] - layer.bounds[1]) * 100, AnchorPosition.MIDDLECENTER); } // 计算图层相对于画布左右居中的偏移量 var horizontalOffset = (doc.width.value - (layer.bounds[2] - layer.bounds[0])) / 2; // 计算图层相对于画布上下居中的偏移量 var verticalOffset = (doc.height.value - (layer.bounds[3] - layer.bounds[1])) / 2; // 移动图层到居中位置 layer.translate(horizontalOffset, verticalOffset); } ``` 额外需要注意的逻辑点 1. 此脚本会对文档中的所有图层进行操作,如果只想处理特定图层,需要添加额外的判断逻辑来筛选图层。 2. 脚本假设文档的单位是像素,如果文档的单位不是像素,可能会导致计算结果不准确,需要先将单位转换为像素或者修改脚本中的计算逻辑。 3. 脚本运行前最好先保存文档,因为脚本会直接修改图层的大小和位置,如果操作有误可能无法恢复。 ######[AI写代码神器 | 464点数解答 | 2025-07-04 22:16:57]
- 用C++解决P2197扩建花坛问题:计算长方形花坛扩建为正方形最少增加的面积(字节豆包 | 280点数解答 | 2026-03-22 16:46:21)27
- Photoshop 脚本:一键为选定图层增加颜色,代码详解与注意事项! (DeepSeek | 303点数解答 | 2025-03-11 14:42:50)260
- 用 Python 脚本实现类似 Photoshop 增加颜色效果,代码示例来了!(字节豆包 | 260点数解答 | 2025-03-11 14:43:16)245
- PS 24.7.0 脚本:轻松修复曝光过度照片,附实用注意事项! (字节豆包 | 166点数解答 | 2025-04-30 10:13:32)244
- PS 24.7.0专用脚本:一键修复曝光过度照片(附代码及注意要点) (阿里通义 | 585点数解答 | 2025-04-30 10:15:33)250
- 巧用Photoshop脚本:调用Camera Raw滤镜一键为照片强力去雾! (字节豆包 | 397点数解答 | 2025-07-25 14:42:48)184
- Adobe Photoshop 2022 脚本处理褪色照片的实现与开发建议(字节豆包 | 1011点数解答 | 2026-03-13 21:16:19)27
- Photoshop 2024 USM 锐化脚本实现及开发建议(字节豆包 | 785点数解答 | 2026-03-26 21:34:08)21
- Adobe Photoshop 25.0.0:复古仿富士胶片滤镜脚本代码大揭秘!(字节豆包 | 261点数解答 | 2025-02-15 19:18:45)330
- Adobe Photoshop 26.3.0:脚本代码实现图片复古仿富士胶片滤镜效果(DeepSeek | 553点数解答 | 2025-02-18 13:19:51)350
- Photoshop CS6 图像转手绘草图脚本代码优化与注意要点(字节豆包 | 164点数解答 | 2025-03-02 23:18:21)275
- Adobe Photoshop 26.3.0脚本:一键为图片添加复古仿富士胶片滤镜效果!(DeepSeek | 660点数解答 | 2025-03-03 18:34:53)276