【发布时间】:2014-12-24 17:45:51
【问题描述】:
我相信 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;
}
非常感谢您的帮助或讨论。
【问题讨论】:
-
您最初将 layerNodes 设置为什么?是
app.activeDocument.layers.length
标签: javascript photoshop photoshop-script