#javascript #scripting #photoshop #extendscript
Вопрос:
У меня есть слой/смарт-объект Photoshop с именем «Culoare». Когда я дважды щелкаю по нему, появляется еще один список слоев/смарт-объектов. Мне нужно уметь делать видимыми/невидимыми слои внутри первого слоя. Например, сделайте «теплый белый» невидимым, а «синий» видимым.
Мой код до сих пор:
var doc = app.activeDocument;
var culoare = doc.layers[5];
doc.activeLayer = culoare;
culoare.visible = false;
Ответ №1:
Я не очень разбираюсь в сценарии photoshop. Но, основываясь на вашем коде, кажется, что порядок ваших последних двух строк должен быть:
culoare.visible = false;
doc.activeLayer = culoare;
То есть «culoare» не должен быть виден до того, как вы назначите его активному слою. Однако я не понимаю, почему вы хотите, чтобы он был невидимым, если вы назначаете его активному слою.
Комментарии:
1. Ну, это там, потому что именно так я сделал бы любой слой видимым или невидимым. Но как выбрать слои внутри «culoare» и применить к ним .видимые?
Ответ №2:
Ты почти на месте! Вам не нужно ссылаться на culoare мой номер слоя, так как это может измениться. Однако вместо этого вы можете использовать текущий активный слой:
// Create a reference to the active document
var doc = app.activeDocument;
// Create a variable "culoare" as a reference to the current active layer
var culoare = doc.activeLayer;
// Make culoare visible if it's hidden
// or make culoare hidden if it's visible
culoare.visible = !culoare.visible;