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 回答