2025版Photoshop脚本(.psjs):如何向只读activeLayers添加图层?
如何将图层添加到
activeLayers中 在Photoshop的现代DOM API里,document.activeLayers确实是只读属性,无法直接向其中添加图层。要修改选中的图层集合,你需要使用Document.selectLayers()方法来完成。
核心用法说明
selectLayers()方法接受两个参数:- 第一个参数是图层对象的数组,指定要选中的图层
- 第二个可选参数是布尔值
addToSelection,设置为true时会将新图层追加到现有选中集合中,默认false(会替换当前选中的图层)
示例代码
- 替换当前选中的图层,选中单个图层:
// 获取目标图层(示例:按名称获取) const targetLayer = app.activeDocument.layers.getByName("目标图层"); // 选中该图层 app.activeDocument.selectLayers([targetLayer]);
- 选中多个图层:
const layer1 = app.activeDocument.layers.getByName("图层1"); const layer2 = app.activeDocument.layers.getByName("图层2"); // 同时选中这两个图层 app.activeDocument.selectLayers([layer1, layer2]);
- 在现有选中图层基础上追加新图层:
const newLayer = app.activeDocument.layers.getByName("要追加的图层"); // 第二个参数设为true,保留原有选中并添加新图层 app.activeDocument.selectLayers([newLayer], true);
注意事项
- 确保你传入的是图层对象,而不是图层名称字符串
- 如果要选中所有图层,可以直接传
app.activeDocument.layers数组:app.activeDocument.selectLayers(app.activeDocument.layers)
内容的提问来源于stack exchange,提问作者Erik Bongers
相关产品推荐
相关产品推荐

