feb19.jp

Nobuhiro Takahashi
Designer / Engineer

Adobe JSX (ExtendedScript) を使って Adobe Photoshop を便利に使う

date
2013.9.5(Thu.)
tags
PhotoshopJavaScript

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();