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