使用动作描述符删除图层蒙版

Delete layer mask with actiondescriptor

我一直在想办法从图层中禁用或删除图层蒙版。我知道有一种使用 'RmvL' 来使用动作描述符的方法,但到目前为止我也没有运气。

我正在使用 app.activeDocument.paste(true)(是的,因为我将其粘贴到选区中),如果我可以通过使用其他东西绕过它,我可以一直跳过删除图层蒙版,因为通过使用 true,Photoshop 会自动应用图层蒙版。

感谢您的帮助!

为什么您认为它是 '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
    }
};