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

在Adobe Photoshop中使用JavaScript脚本,如何更改选定文本层的内容,javascript,scripting,photoshop,Javascript,Scripting,Photoshop,或者,如何按图层名称更改TextItem的内容 注意:我正在使用PhotoshopCS4(11.0.1)我刚刚在这个场合编写了我的第一个PhotoshopJSX脚本:) 我使用的是PhotoshopCS3,但我猜更改文本是一个核心功能,从一个版本到另一个版本可能不会那么容易更改 以下是我的片段: //get the active document var doc = app.activeDocument; //get the active layer var al = doc.activeLay

或者,如何按图层名称更改TextItem的内容


注意:我正在使用PhotoshopCS4(11.0.1)

我刚刚在这个场合编写了我的第一个PhotoshopJSX脚本:)

我使用的是PhotoshopCS3,但我猜更改文本是一个核心功能,从一个版本到另一个版本可能不会那么容易更改

以下是我的片段:

//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方法,因此不需要手动循环,然后我只是检查该层是否实际上是一个文本层


希望能有所帮助。

我刚刚在这个场合写了我的第一个Photoshop JSX脚本:)

我使用的是PhotoshopCS3,但我猜更改文本是一个核心功能,从一个版本到另一个版本可能不会那么容易更改

以下是我的片段:

//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方法,因此不需要手动循环,然后我只是检查该层是否实际上是一个文本层


希望有帮助。

Excellent非常感谢您。这确实帮助我理解了脚本如何与ExtendScript一起工作。你就是乔治!!非常感谢你。这确实帮助我理解了脚本如何与ExtendScript一起工作。你就是乔治!!