代码之家  ›  专栏  ›  技术社区  ›  willc2

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

  •  1
  • willc2  · 技术社区  · 17 年前

    或者,如何按层名称更改文本项的内容。

    注:我使用的是Photoshop CS4(11.0.1)

    1 回复  |  直到 17 年前
        1
  •  7
  •   George Profenza    17 年前

    我刚刚在这个场合写了我的第一个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方法,所以不需要手动循环,然后我只是检查层是否实际上是文本层。

    希望它有帮助。