Как выбрать слой внутри другого слоя в Photoshop с помощью Javascript и сделать его видимым/невидимым

#javascript #scripting #photoshop #extendscript

Вопрос:

У меня есть слой/смарт-объект Photoshop с именем «Culoare». Когда я дважды щелкаю по нему, появляется еще один список слоев/смарт-объектов. Мне нужно уметь делать видимыми/невидимыми слои внутри первого слоя. Например, сделайте «теплый белый» невидимым, а «синий» видимым.

quot;Культураquot; - это первый объект
Мне нужно сделать видимыми или невидимыми слои здесь

Мой код до сих пор:

 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;