You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求可基于活动选区将图片裁剪为正方形的Photoshop JavaScript脚本

Photoshop 基于不规则选区裁剪为正方形的JS脚本
  • 先在Photoshop中打开目标图像,用任意选区工具创建你需要的不规则选区
  • 把下方代码复制保存为后缀为.jsx的纯文本文件
  • 回到PS,点击顶部菜单「文件」>「脚本」>「浏览」,选中刚才保存的.jsx文件运行即可
  • 脚本自动识别当前选区的边界矩形,以边界矩形的最长边为边长生成覆盖整个选区的正方形裁剪范围
  • 裁剪过程完全保留原图原有的分辨率(像素密度),不会压缩或拉伸图像像素
  • 若未提前创建选区,脚本会自动弹出提示终止运行,避免误操作
// Photoshop 选区转正方形裁剪脚本
#target photoshop
app.preferences.rulerUnits = Units.PIXELS;

if (app.activeDocument.selection.bounds) {
    var sel = app.activeDocument.selection.bounds;
    var selX = sel[0].value;
    var selY = sel[1].value;
    var selWidth = sel[2].value - selX;
    var selHeight = sel[3].value - selY;

    // 取选区宽高最大值作为正方形边长
    var squareSize = Math.max(selWidth, selHeight);
    // 计算正方形左上角坐标,让原选区居中在正方形范围内
    var offsetX = (squareSize - selWidth) / 2;
    var offsetY = (squareSize - selHeight) / 2;
    var squareX = selX - offsetX;
    var squareY = selY - offsetY;

    // 边界校验,避免裁剪范围超出原图边缘
    squareX = squareX < 0 ? 0 : squareX;
    squareY = squareY < 0 ? 0 : squareY;
    squareX = (squareX + squareSize > app.activeDocument.width.value) ? (app.activeDocument.width.value - squareSize) : squareX;
    squareY = (squareY + squareSize > app.activeDocument.height.value) ? (app.activeDocument.height.value - squareSize) : squareY;

    // 执行裁剪
    app.activeDocument.crop([squareX, squareY, squareX + squareSize, squareY + squareSize]);
} else {
    alert("请先创建选区后再运行脚本");
}

内容的提问来源于stack exchange,提问作者Ruslan Pukshyn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 23:27:03