帮我写一个Photoshop 版本: 24.0.1脚本,用于截切图片上下多余白色空白,主图居中


以下是一个可以在Photoshop 24.0.1中使用的脚本,用于截切图片上下多余白色空白并将主图居中。 ```javascript // 获取当前活动文档 var doc = app.activeDocument; // 定义一个函数来查找图像的边界 function findContentBounds() { // 获取文档的宽度和高度 var width = doc.width.value; var height = doc.height.value; // 初始化顶部、底部边界 var top = 0; var bottom = height - 1; // 查找顶部边界 for (var y = 0; y < height; y++) { for (var x = 0; x < width; x++) { var pixelColor = doc.channels[2].getPixel(x, y); if (pixelColor < 255) { top = y; break; } } if (top > 0) { break; } } // 查找底部边界 for (var y = height - 1; y >= 0; y--) { for (var x = 0; x < width; x++) { var pixelColor = doc.channels[2].getPixel(x, y); if (pixelColor < 255) { bottom = y; break; } } if (bottom < height - 1) { break; } } return { top: top, bottom: bottom }; } // 查找图像的边界 var bounds = findContentBounds(); // 裁剪图像 var newHeight = bounds.bottom - bounds.top + 1; var newTop = (doc.height.value - newHeight) / 2; var cropRect = [0, bounds.top, doc.width.value, bounds.bottom + 1]; doc.crop(cropRect); // 移动图像到居中位置 var moveY = newTop - bounds.top; if (moveY !== 0) { var idmove = charIDToTypeID("move"); var desc15 = new ActionDescriptor(); var idnull = charIDToTypeID("null"); desc15.putClass(idnull, charIDToTypeID("Lyr ")); var idT = charIDToTypeID("T "); var desc16 = new ActionDescriptor(); var idHrzn = charIDToTypeID("Hrzn"); var idAdjt = charIDToTypeID("Adjt"); desc16.putUnitDouble(idHrzn, idAdjt, 0); var idVrtc = charIDToTypeID("Vrtc"); desc16.putUnitDouble(idVrtc, idAdjt, moveY); var idOfst = charIDToTypeID("Ofst"); desc15.putObject(idOfst, idT, desc16); executeAction(idmove, desc15, DialogModes.NO); } ``` 额外需要注意的逻辑点 1. 该脚本假设图像是灰度图或者只通过红色通道(`doc.channels[2]`)来判断像素是否为白色。如果是彩像,可能需要调整判断逻辑,以更准确地识别白色像素。 2. 脚本在裁剪和移动图像时,可能会受到图像分辨率等因素的影响。如果图像分辨率非常高,可能会导致性能问题。 3. 脚本没有处理图像本身没有多余白色空白的情况,在这种情况下,裁剪和移动操作可能是不必要的,可以添加相应的判断逻辑来避免这种情况。 [2025-06-21 11:08:01 | AI写代码神器 | 833点数解答]
- 帮我写一个适合Adobe Photoshop 版本:Adobe Photoshop 版本: 25.0.0 20230906.r.37 b14e317 x64 使用的脚本代码,全部本地化从操作,我想让图片增加复古的、仿富士胶片的滤镜效果,我已经打开了图片(261点数解答 | 2025-02-15 19:18:45)238
- 帮我写一个适合Adobe Photoshop 版本:Adobe Photoshop 版本: 26.3.0 使用的脚本代码,全部本地化从操作,我想让图片增加复古的、仿富士胶片的滤镜效果,我已经打开了图片(553点数解答 | 2025-02-18 13:19:51)253
- 帮我写一个适合Adobe Photoshop 版本:Adobe Photoshop 版本: 26.3.0 使用的脚本代码,全部本地化从操作,我想让图片增加复古的、仿富士胶片的滤镜效果,我已经打开了图片(660点数解答 | 2025-03-03 18:34:53)166
- 帮我写一个适合Adobe Photoshop 版本:Adobe Photoshop 版本: 26.5.0 使用的脚本代码,全部本地化从操作,我想让图片去除薄雾,变得清晰,我已经打开了图片(190点数解答 | 2025-04-29 11:20:37)244
- Photoshop 脚本:修复曝光过度照片(适用于 PS 24.7.0)(166点数解答 | 2025-04-30 10:13:32)136
- Photoshop 脚本:修复曝光过度照片(适用于 PS 24.7.0)(585点数解答 | 2025-04-30 10:15:33)136
- function optimalCuttingPlan() % 最优切割方案计算函数(已测试通过) % 作者:数学建模助手 % 最后修改:2023-10-15 %% 数据准备(使用硬编码数据避免文件读取问题) % 原材料数据 [ID, 长度, 缺陷位置, 缺陷长度, 单价] raw_data = [ 1 5.5 1 0.3 17 1 5.5 3 0.2 17.33 2 6.2 2 0.4 20.59 3 7 1.5 0.2 24.41 3 7 4 0.3 24.05 4 5.8 1.2 0.5 17.33 5 6.5 2.3 0.3 22 6 7.5 1 0.6 24.77 7 6 2.8 0.4 19.83 8 8.2 1.3 0.5 27.64 9 6.8 2.1 0.3 23.32 9 6.8 5 0.2 23.69 10 5.6 1.1 0.2 17.66 11 7.3 3.1 0.4 24.77 12 6.1 1.7 0.5 19.83 13 8 2.5 0.3 27.64 14 5.9 3 0.4 18 15 6.3 1.9 0.3 21.27 16 7.8 1.2 0.(3226点数解答 | 2025-06-18 20:59:55)105
- 帮我写一段PS脚本,用于图片的美颜,增强 PS版本为Adobe Photoshop 版本: 20.0.6 20190724.r.80 2019/07/24: 1207344 x64(192点数解答 | 2025-02-28 11:01:21)152
- 帮我写一段PS脚本,用于图片的美颜,增强 PS版本为Adobe Photoshop 版本: 20.0.6 20190724.r.80 2019/07/24: 1207344 x64(680点数解答 | 2025-02-28 14:43:51)140
- 针对网站功能“可以将生活照剪切成证件照,并可以更换底色为:红色、蓝色、白色”,写一段介绍软文(258点数解答 | 2024-03-11 15:14:10)247
- photoshop 增加颜色 脚本(303点数解答 | 2025-03-11 14:42:50)175
- photoshop 增加颜色 脚本(260点数解答 | 2025-03-11 14:43:16)149