我相信Photoshop的脚本编写者们应该已经探讨过这个问题。我编写了以下解决方案。我认为逻辑上是正确的,但是结果有误。有人能帮忙检查一下代码中哪里出错了,或者对此话题有什么想法吗?我想获取文档中的所有图层。
代码:
function getAllLayersInLayerSets(layerNodes) {
var retList = [];
for (var i=0; i<layerNodes.length; i++) {
if(layerNodes[i].layerSets.length > 0)
{
var tmp = getAllLayersInLayerSets(layerNodes[i].layerSets);
var j = (tmp == null) ? -1 : tmp.length-1;
while(tmp && j>=0)
{
retList.push(tmp[i]);
j--;
}
}
for(var layerIndex=0; layerIndex < layerNodes[i].artLayers.length; layerIndex++)
{
var layer=layerNodes[i].artLayers[layerIndex];
retList.push(layer);
}
}
return retList;
}
非常感谢您的帮助或讨论。
app.activeDocument.layers.length
吗? - Ghoul Fool