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

如何通过Photoshop脚本获取图像图层的变换信息(非Bounds)

获取图层变换后的完整边界(含透明区域)

你当前用activeLayer.layer.bounds[0]获取的是图层实际像素内容的边界(自动裁剪掉透明区域),要获取变换后的整个图层范围(包括透明区域的变换框),可以通过图层的变换参数结合原始尺寸计算:

方法步骤(以Photoshop ExtendScript为例):

  • 获取图层的变换属性(位移、缩放、旋转等)和原始尺寸
  • 计算原始图层四个角经过变换后的坐标
  • 从变换后的坐标中提取最小/最大X、Y值,得到完整边界

示例代码:

const activeLayer = app.activeDocument.activeLayer;
const transform = activeLayer.transform;
const origWidth = activeLayer.width;
const origHeight = activeLayer.height;

// 原始图层的中心偏移(以左上角为原点)
const centerOffsetX = origWidth / 2;
const centerOffsetY = origHeight / 2;

// 定义原始图层的四个角坐标(以图层中心为原点)
const origCorners = [
    { x: -centerOffsetX, y: -centerOffsetY },
    { x: centerOffsetX, y: -centerOffsetY },
    { x: centerOffsetX, y: centerOffsetY },
    { x: -centerOffsetX, y: centerOffsetY }
];

// 应用变换计算每个角的新坐标
const transformedCorners = origCorners.map(corner => {
    // 转换旋转角度为弧度
    const rotationRad = transform.rotation * Math.PI / 180;
    // 先旋转
    const rotatedX = corner.x * Math.cos(rotationRad) - corner.y * Math.sin(rotationRad);
    const rotatedY = corner.x * Math.sin(rotationRad) + corner.y * Math.cos(rotationRad);
    // 再缩放
    const scaledX = rotatedX * (transform.scaleX / 100);
    const scaledY = rotatedY * (transform.scaleY / 100);
    // 最后平移(加上文档坐标的偏移)
    return {
        x: scaledX + transform.translateX + centerOffsetX,
        y: scaledY + transform.translateY + centerOffsetY
    };
});

// 提取边界的极值
const minX = Math.min(...transformedCorners.map(p => p.x));
const maxX = Math.max(...transformedCorners.map(p => p.x));
const minY = Math.min(...transformedCorners.map(p => p.y));
const maxY = Math.max(...transformedCorners.map(p => p.y));

// 最终的变换后完整边界(格式和bounds一致:[minX, minY, maxX, maxY])
const transformedBounds = [minX, minY, maxX, maxY];

说明:

  • activeLayer.transform包含了图层所有变换参数:translateX/translateY是位移,scaleX/scaleY是缩放比例(百分比),rotation是旋转角度
  • 这个方法会考虑所有变换类型(位移、缩放、旋转),计算出的边界就是变换工具显示的整个图层框范围,包含透明区域

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 20:15:50