如何获取Photoshop全部样式?需为ArtLayers随机应用样式
获取Photoshop中所有图层样式并随机应用到ArtLayer的解决方案
获取全部样式的方法
在Photoshop JavaScript API中,所有图层样式都存储在app.activeDocument.layerStyles集合内,直接遍历该集合即可获取所有可用样式:
// 获取当前文档的所有图层样式 var allStyles = app.activeDocument.layerStyles; // 遍历输出所有样式名称 for (var i = 0; i < allStyles.length; i++) { console.log(allStyles[i].name); }
随机应用样式的完整代码示例
结合你已验证可用的applyStyle方法,完整的随机应用逻辑如下:
function applyRandomStyleToLayer(targetLayer) { var allStyles = app.activeDocument.layerStyles; if (allStyles.length === 0) { alert("当前文档无可用图层样式"); return; } // 生成随机样式索引 var randomIndex = Math.floor(Math.random() * allStyles.length); // 为目标图层应用随机样式 targetLayer.applyStyle(allStyles[randomIndex]); } // 示例:给当前选中的ArtLayer应用随机样式 if (app.activeDocument.activeLayer.typename === "ArtLayer") { applyRandomStyleToLayer(app.activeDocument.activeLayer); } else { alert("请选中一个普通图层(ArtLayer)"); }
补充说明
layerStyles集合包含当前文档中所有已保存的自定义样式,以及加载到样式面板中的Photoshop内置默认样式。- 若需访问Photoshop全局内置样式库,可使用
app.layerStyles,但优先推荐使用当前文档的layerStyles,避免跨文档样式加载冲突。
内容的提问来源于stack exchange,提问作者Famouse
相关产品推荐
相关产品推荐

