// by 熊喵

app.beginUndoGroup("mask操作")
var p = app.project.activeItem.selectedProperties;
var l = app.project.activeItem.selectedLayers;
if(p.length|l.length){
    if(p.length&&p[0].isMask){ //如果选中了mask,则批量将mask模式改为无
        for(var i=0; i<p.length; i++){ 
            p[i].maskMode = MaskMode.NONE
        }
    }else{ //如果没有选中mask,则分离所有选中图层的mask
        for(var i=l.length-1; i>=0; i--){ //处理所有选中的图层,因为会删除选中的层,所以反向遍历
            go(l[i])
        }
    }
}else{
    alert("请先选中图层或mask!","提示:")
}
app.endUndoGroup()

function go(layer){
    if(layer.mask.numProperties>1){ //mask数量至少大于1才做处理
        for(var i=1; i<=layer.mask.numProperties; i++){
            deleteMask(layer.duplicate(),i) //处理复制后的图层
        }
        layer.remove();
    }
}
function deleteMask(layer,index){
    for(var i=layer.mask.numProperties; i>0; i--){ //遍历mask然后删除,因为会删除mask,所以反向遍历
        if(i != index){ //排除指定的mask
            layer.mask(i).remove()
        }
    }
}

您的电子邮箱地址不会被公开。 必填项已用*标注