Использование сценариев JavaScript в Adobe Photoshop, как изменить содержимое выделенного текстового слоя

StackOverflow https://stackoverflow.com/questions/1287868

  •  18-09-2019
  •  | 
  •  

Вопрос

В качестве альтернативы, как изменить содержимое TextItem по имени слоя.

примечание:Я использую Photoshop CS4 (11.0.1)

Это было полезно?

Решение

Я только что написал свой первый скрипт 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, поэтому не требуется ручного зацикливания, а затем я просто проверяю, действительно ли слой является текстовым слоем.

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top