是否可以检查某层是否为空? CS6脚本
Is it possible to check if certain layer is empty? CS6 Script
我想要检查某个层是否所有像素的透明度为 0% 的功能,换句话说,该层只是空的。
function isLayerEmptyCheck(layer) {
//code
}
不幸的是,我无法在任何此类 artlayer
属性 的文档 (Photoshop CS6 Scripting Guide, Photoshop CS6 JavaScript Ref) 中找到任何信息。
只需要检查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;
}
}
我想要检查某个层是否所有像素的透明度为 0% 的功能,换句话说,该层只是空的。
function isLayerEmptyCheck(layer) {
//code
}
不幸的是,我无法在任何此类 artlayer
属性 的文档 (Photoshop CS6 Scripting Guide, Photoshop CS6 JavaScript Ref) 中找到任何信息。
只需要检查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;
}
}