Задача, которую я пытаюсь реализовать, очень проста:
Мне нужно получить список всех слоев (одноуровневых) в указанном наборе (группе) слоев и записать этот список в файл.
Код тоже прост (и работает):
function indexCurrent(document){
var log = new File(indexLocation+document.name+'.js');
alert("Collecting data");
var images = document.layerSets.getByName("Images").layers;
var imagesLength = images.length;
var layers = [];
alert("Iterating " + imagesLength + " layers");
for(var jj = 0, jL = imagesLength; jj < jL; jj++){
layers.push('\t\t\'' + images[jj].name + '\'');
}
alert("Writing " + layers.length + " layers");
log.open('w');
log.write('\n\t\'' + document.name + '\': [\n' );
log.write(layers.join(",\n"));
log.write('\n\t]\n');
log.close();
}
Этот код работает, но для 150+ слоев между строками «Итерация» и «Запись» уходят часы.
Я прочитал здесь все связанные вопросы, но это не помогает.
Я уверен, что для такой простой задачи должен быть более эффективный способ.
Я использую Photoshop CS6 в Windows 7.
Спасибо.