// 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()
}
}
}
暂无讨论,说说你的看法吧