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

Photoshop JS脚本如何在新建图层上创建圆形选区

Photoshop JS脚本圆形选区实现方案

Photoshop脚本的自定义选区基于闭合坐标点数组实现,无需调用特殊API,只要沿圆周采样足够密集的坐标点,生成和矩形选区格式一致的数组,即可直接传入selection.select()使用。

核心实现函数

/**
 * 生成可直接用于PS选区的正圆点集
 * @param {number} centerX 圆心X坐标
 * @param {number} centerY 圆心Y坐标
 * @param {number} radius 圆半径
 * @param {number} [segments=36] 圆周分段数,数值越大边缘越平滑
 * @returns {Array<Array<number>>} 选区坐标数组
 */
function makeCircleSelection(centerX, centerY, radius, segments) {
    segments = segments || 36;
    var points = [];
    var angleStep = (Math.PI * 2) / segments;
    
    for (var i = 0; i < segments; i++) {
        var angle = i * angleStep;
        var pointX = centerX + radius * Math.cos(angle);
        var pointY = centerY + radius * Math.sin(angle);
        points.push(Array(pointX, pointY));
    }
    // 闭合选区,回到起始点
    points.push(points[0].slice());
    return points;
}

使用方法

返回值和矩形选区格式完全兼容,可直接对接你现有的图层操作逻辑:

// 示例:在坐标(200, 200)位置创建半径100px的圆形选区
var circleSelection = makeCircleSelection(200, 200, 100);

var layer = document.artLayers.add();
document.selection.select(circleSelection);
document.selection.copy();
document.paste();

注意事项

  • 默认36段的精度足够日常使用,对边缘平滑度要求高可以把分段数调到60~72,分段过低会显示为正多边形
  • 如果需要椭圆选区,可给函数新增x轴半径、y轴半径两个参数,计算坐标时分别乘对应半径即可
  • 无需额外引入依赖或调用特殊选区API,适配成本为0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 01:18:49