如何在 jsx Photoshop 脚本中提取图层旋转(变换)?

Posted

技术标签:

【中文标题】如何在 jsx Photoshop 脚本中提取图层旋转(变换)?【英文标题】:How to extract layer rotation (transform) in jsx photoshop script? 【发布时间】:2013-11-26 04:18:13 【问题描述】:

使用Free Transform工具将图层旋转90度后...

如何使用 jsx 脚本找到这个值?

【问题讨论】:

【参考方案1】:

天哪,我花了 4 个小时才找到这个:(

function angleFromMatrix(yy, xy)

    var toDegs = 180/Math.PI;
    return Math.atan2(yy, xy) * toDegs - 90;


function getActiveLayerRotation()

    var ref = new ActionReference();
    ref.putEnumerated( charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") );
    var desc = executeActionGet(ref).getObjectValue(stringIDToTypeID('textKey'))
    if (desc.hasKey(stringIDToTypeID('transform')))
    
        desc = desc.getObjectValue(stringIDToTypeID('transform'))
        var yy = desc.getDouble(stringIDToTypeID('yy'));
        var xy = desc.getDouble(stringIDToTypeID('xy'));
        return angleFromMatrix(yy, xy);
    
    return 0;

【讨论】:

以上是关于如何在 jsx Photoshop 脚本中提取图层旋转(变换)?的主要内容,如果未能解决你的问题,请参考以下文章

Photoshop 脚本 - 如何在 2 个链接图层组之间切换

在 Photoshop 脚本中打开和关闭多个图层

将图层名称复制到 Photoshop 中的文本框的脚本

PhotoShop 脚本学习07 新建文字图层

如何在活动文档中加载图像? (Photoshop脚本)

用于导出图层组合的 Photoshop 脚本