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
相关产品推荐
相关产品推荐

