删除与actiondescriptor层掩模

问题描述 投票:0回答:1

我一直在试图找出我如何可以禁用或从图层删除图层蒙版。我知道那里有使用actiondescriptor使用'RmvL'的方式,但我也有与至今没有运气。

即时通讯使用的app.activeDocument.paste(true)(真实的,因为IM将其粘贴到选择),如果我能绕过通过使用别的东西,我可以因为通过使用真正跳过删除图层蒙版,一直以来,Photoshop会自动应用图层蒙版。

谢谢您的帮助!

javascript photoshop mask layer extendscript
1个回答
0
投票

为什么你认为它是一个'RmvL'描述? Scriptlistener给了我们一个'Dlt ' charID。下面是它包裹到一个函数:

/**
 * deletes layer mask from active layer
 * @param  if apply is true, mask will be applied, if false — mask will be discarded
 * @return boolean
 */
function deleteMask(apply)
{
    if (apply == undefined) apply = false;
    try
    {
        var desc = new ActionDescriptor();
        var ref = new ActionReference();
        ref.putEnumerated(charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Msk '));
        desc.putReference(charIDToTypeID('null'), ref);
        desc.putBoolean(charIDToTypeID('Aply'), apply);
        executeAction(charIDToTypeID('Dlt '), desc, DialogModes.NO);
        return true
    }
    catch (e)
    {
        return false
    }
};
© www.soinside.com 2019 - 2024. All rights reserved.