Ausgabe
Ich möchte eine Funktion, die überprüft, ob eine bestimmte Ebene alle Pixel mit 0% Transparenz aufweist, mit anderen Worten, die Ebene ist nur leer.
function isLayerEmptyCheck(layer) {
//code
}
Leider konnte ich in der Dokumentation ( Photoshop CS6 Scripting Guide , Photoshop CS6 JavaScript Ref ) keine Informationen zu einer artlayer
Eigenschaft dieser Art finden.
Lösung
Es muss nur die Eigenschaft von überprüft artlayer
bounds
werden, um herauszufinden, ob alle Werte ihrer Arrays gleich sind "0 px"
. Wenn alle von ihnen sind "0 px"
, bedeutet dies, dass die Ebene leer ist.
Unten habe ich eine Funktion erstellt, die prüft, ob die Eingabeebene nicht gefüllt ist.
#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;
}
}
Beantwortet von – Lukkar
Antwort geprüft von – Pedro (FixError Volunteer)