Adobe JSX (ExtendedScript) を使うと、 JavaScript で Adobe Photoshop を操作することができるので、用意されていない機能もプラグイン的に作ることができるので、便利です。
非表示のレイヤーを削除
非表示にしているレイヤーを削除することができるスクリプトです。 PSD データを他の人に渡す前に、不要なレイヤーを消しておきたい時に使うと便利です。
var document;
function run() {
document = app.activeDocument;
start();
return "やっつけました!";
}
function start() {
checkVisiblity(document.layers);
}
function checkVisiblity(obj){
var i;
switch( obj.typename ) {
//case "LayerSets":
case "Layers":
var visiblities = [];
for( i=obj.length-1; i>=0; i--) {
checkVisiblity(obj[i]);
}
break;
case "LayerSet":
if (!obj.visible) {
$.writeln(["削除しました:", obj.name, "(グループ)"].join(" "));
obj.remove();
return false;
}
for( i=obj.layers.length-1; i>=0; i-- ) {
checkVisiblity(obj.layers[i]);
}
break;
default:
if (!obj.visible) {
$.writeln(["削除しました:", obj.name, "(レイヤー)"].join(" "));
obj.remove();
return false;
}
break;
}
}
run();