1

または、TextItem の内容をレイヤー名で変更する方法。

注:Photoshop CS4(11.0.1)を使用しています

4

1 に答える 1

7

この機会に、最初の Photoshop JSX スクリプトを書きました :)

私は Photoshop CS3 を使用していますが、テキストの変更は、あるバージョンから別のバージョンに簡単に変更できないコア機能であると推測しています。

ここに私のスニペットがあります:

//get the active document
var doc = app.activeDocument;
//get the active layer
var al = doc.activeLayer;
if(al.kind == LayerKind.TEXT) {
    //get the textItem
    var ti = al.textItem;
    //change contents
    ti.contents = "stackoverflow";
}

レイヤー名でコンテンツを変更することで、あなたが何を意味するのか正確にはわかりませんが、ここに私の行き方があります:

function changeTextByLayerName(layerName,newText){
    var layer = doc.layers.getByName(layerName);
    if(layer.kind == LayerKind.TEXT) layer.textItem.contents = newText;
}

幸いなことに、そこには getByName メソッドがあるため、手動でループする必要はありません。レイヤーが実際にテキスト レイヤーであるかどうかを確認しているだけです。

それが役に立てば幸い。

于 2009-08-19T12:41:00.170 に答える