使用动作描述符删除图层蒙版
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
}
};
我一直在想办法从图层中禁用或删除图层蒙版。我知道有一种使用 '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
}
};