Javascript 在不知道名称的情况下在 photoshop 中更改第一层名称
Javascript to change first layer name in photoshop without knowing the name
在搜索中没有完全找到我要找的东西,所以寻求帮助。
我有一个 Javascript 可以在一组图像中循环并将它们堆叠在 Photoshop 中。想要重命名层,因为它们被引入。第一个层名称似乎总是被称为“层 0”所以我能够 select 并使用以下内容更改它:
var doc = app.activeDocument;
doc.activeLayer = doc.artLayers.getByName("Layer 0");
// Execute Action
try {
var currentName = "Layer 0";
var newName = "Base_color";
var currentLayer = doc.activeLayer;
if (currentLayer.name == currentName) {
currentLayer.name = newName;
};
catch (e) {
alert('error’);
}
我的一些同事无法获得 运行 的脚本,因为他们的第一层名称不是 "Layer 0" 而是“RGBA”(这会导致脚本崩溃)。
我不想用“RGBA”做 OR 语句,而是想创建代码来更改第一层的名称,而不管它的名称是什么,以帮助防止出错。
尝试这样的事情:
var doc = app.activeDocument;
var firstlayername = app.activeDocument.activeLayer.name;
doc.activeLayer = firstlayername;
// Execute Action
try {
var currentName = firstlayername;
var newName = "Base_color";
var currentLayer = doc.activeLayer;
if (currentLayer.name == currentName) {
currentLayer.name = newName;
};
catch (e) {
alert('error’);
}
无法正常工作。有没有办法在不知道名称的情况下获取带入 Photoshop 的第一层名称并进行更改?
谢谢!
这是我的循环:
// Stack images in order of numerical import. Remove all ending numbers.
while(app.documents.length>1){
app.activeDocument = app.documents[1];
var layerName = decodeURI(activeDocument.name).replace(/[0-9]*\....$/,'');
activeDocument.activeLayer.duplicate(documents[0]);
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
activeDocument.activeLayer.name = layerName;
};
重命名 bottom 图层:
var layers = app.activeDocument.artLayers;
var layer = layers[layers.length - 1];
layer.name = "Test name";
请注意,为了引入图层,这不一定是第一层。
在搜索中没有完全找到我要找的东西,所以寻求帮助。 我有一个 Javascript 可以在一组图像中循环并将它们堆叠在 Photoshop 中。想要重命名层,因为它们被引入。第一个层名称似乎总是被称为“层 0”所以我能够 select 并使用以下内容更改它:
var doc = app.activeDocument;
doc.activeLayer = doc.artLayers.getByName("Layer 0");
// Execute Action
try {
var currentName = "Layer 0";
var newName = "Base_color";
var currentLayer = doc.activeLayer;
if (currentLayer.name == currentName) {
currentLayer.name = newName;
};
catch (e) {
alert('error’);
}
我的一些同事无法获得 运行 的脚本,因为他们的第一层名称不是 "Layer 0" 而是“RGBA”(这会导致脚本崩溃)。 我不想用“RGBA”做 OR 语句,而是想创建代码来更改第一层的名称,而不管它的名称是什么,以帮助防止出错。
尝试这样的事情:
var doc = app.activeDocument;
var firstlayername = app.activeDocument.activeLayer.name;
doc.activeLayer = firstlayername;
// Execute Action
try {
var currentName = firstlayername;
var newName = "Base_color";
var currentLayer = doc.activeLayer;
if (currentLayer.name == currentName) {
currentLayer.name = newName;
};
catch (e) {
alert('error’);
}
无法正常工作。有没有办法在不知道名称的情况下获取带入 Photoshop 的第一层名称并进行更改?
谢谢!
这是我的循环:
// Stack images in order of numerical import. Remove all ending numbers.
while(app.documents.length>1){
app.activeDocument = app.documents[1];
var layerName = decodeURI(activeDocument.name).replace(/[0-9]*\....$/,'');
activeDocument.activeLayer.duplicate(documents[0]);
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
activeDocument.activeLayer.name = layerName;
};
重命名 bottom 图层:
var layers = app.activeDocument.artLayers;
var layer = layers[layers.length - 1];
layer.name = "Test name";
请注意,为了引入图层,这不一定是第一层。