Можно ли проверить, является ли определенный слой пустым? CS6 Script - PullRequest
0 голосов
/ 15 января 2020

Мне нужна функция, которая проверяет, имеет ли определенный слой все пиксели с прозрачностью 0%, другими словами, слой просто пуст.

function isLayerEmptyCheck(layer) {
   //code
}

К сожалению, я не смог найти никакой информации в документации ( Photoshop CS6 Scripting Guide , Photoshop CS6 JavaScript Ref ) любого artlayer собственность такого рода.

1 Ответ

0 голосов
/ 15 января 2020

Необходимо только проверить свойство artlayer bounds, чтобы выяснить, все ли значения его массивов равны "0 px". Когда все они равны "0 px", это означает, что слой пуст. Ниже я создал функцию, которая проверяет, не заполнен ли входной слой.

#target photoshop

var doc = app.activeDocument;
var certainLayer = doc.artLayers[0];

var isLayerEmpty = isLayerEmptyCheck(certainLayer);

alert(isLayerEmpty);

function isLayerEmptyCheck(layer) {

    var isLayerEmpty = new Boolean;

    var LayerBounds = layer.bounds;
    if (LayerBounds[0] === "0 px" && LayerBounds[1] === "0 px" && LayerBounds[2] === "0 px" && LayerBounds[3] === "0 px") {
        return isLayerEmpty = true;
    } else {
        return isLayerEmpty = false;
    }

}
...