我知道這已經被回答以前爲一組組(https://graphicdesign.stackexchange.com/questions/30768/combinations-and-permutations-of-photoshop-layers),但是我在執行這個可變數量的組時有困難。使用JavaScript在Photoshop中保存每個置換
我的總體目標是能夠保存/導出圖層的每個排列,而不管組數。
IE,如果我的層結構是這樣(所有的下面是layerSets的):
options
--one
----a
----b
----c
--two
----1
----2
----3
background
--base
--top
我需要保存圖像爲A1,A2,A3,B1,B2 B3,C1,C2和c3,每個都有獨立的名字,同時仍然保持背景組不變。
我遇到的問題有時會有7種不同的選項,下面有5種不同的選擇,有時會有3種選項,下面有多種選擇。
任何幫助將非常感激,因爲我絞盡腦汁試圖解決這個問題已經有一段時間了。
您鏈接的代碼使用'app.activeDocument.artLayers.length'來獲取圖層的數量;您必須檢查文檔以獲取層組數量的類似方法;像'app.activeDocument.artLayerGroups.length'可能嗎? – m69
我發現使用'app.activeDocument.layerSets.getByName(「options」)。layerSets.length'返回選項下的圖層組數量,'app.activeDocument.layerSets.getByName(「options」)。layerSets [i] .layerSets.length'(我是相關索引)返回相關子選項下的圖層組數量。 – MCMXCII
這應該爲您提供生成排列所需的所有信息。對於固定數量的主集(如「one」和「two」),使用貫穿選項(a,b,c ...和1,2,3 ...)的嵌套循環;對於一個可變數字(如果可以有一個「三」,「四」......)使用遞歸算法。 – m69