如何让JSX脚本实现Photoshop式图像顶部裁剪而非中心裁剪?
实现仅裁剪顶部的JSX脚本修改方案
要实现只裁剪图像顶部、保留下方区域的裁剪效果,只需调整裁剪区域的top值计算逻辑即可,无需特殊命令。具体修改如下:
修改思路
原代码按中心裁剪计算top值,现在改为底部对齐逻辑:让裁剪区域的底部与原图底部重合,这样只会裁掉顶部多余部分。
修改后的完整代码
// Define crop width and height var cropWidth = 5400; var cropHeight = 7200; // Calculate crop rectangle (仅裁剪顶部,宽度居中) var docWidth = doc.width.as('px'); var docHeight = doc.height.as('px'); // 宽度方向居中裁剪 var left = (docWidth - cropWidth) / 2; // 高度方向底部对齐,仅裁剪顶部 var top = docHeight - cropHeight; // Create crop bounds: left, top, right, bottom var cropBounds = [ UnitValue(left, 'px'), UnitValue(top, 'px'), UnitValue(left + cropWidth, 'px'), UnitValue(top + cropHeight, 'px') ]; // 执行裁剪操作 doc.crop(cropBounds);
关键说明
- 宽度方向:保持居中逻辑,从8192px裁剪到5400px,左右对称裁去多余部分
- 高度方向:通过
top = 原图高度 - 裁剪高度,让裁剪区域底部与原图底部对齐,仅裁掉顶部12288 - 7200 = 5088px的区域,完全匹配手动裁剪的效果
内容的提问来源于stack exchange,提问作者Timothy yeoh
相关产品推荐
相关产品推荐

