在Adobe Photoshop中使用JavaScript脚本,如何更改所选文本图层的内容

wil*_*lc2 1 javascript photoshop scripting

或者,如何通过图层名称更改TextItem的内容.

注意:我正在使用Photoshop CS4(11.0.1)

Geo*_*nza 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";
}
Run Code Online (Sandbox Code Playgroud)

我不确定我是否通过图层名称更改内容完全符合您的意思,但这是我的意思:

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

幸运的是,有一个getByName方法,所以不需要手动循环,然后我只是检查图层是否实际上是文本层.

希望能帮助到你.