2014-05-07 66 views
2

這是一個很大的Photoshop圖層的組合和排列?

我有一個Photoshop文檔,它有8層。我需要創建一個方法來使用這些8層和創建根據下面的規則的特定組合...

實施例:

{1,2,3} {1,2,4} {1, 2,5} {1,2,6} {1,2,7} {1,2,8} {1,3,4} {1,3,5} {1,3,6} {1,3 ,7} {1,3,8} {1,4,5} {1,4,6} {1,4,7} {1,4,8} {1,5,6} {1,5, 7} {1,5,8} {1,6,7} {1,6,8} {1,7,8} {2,3,4} {2,3,5} {2,3,6 } {2,3,7} {2,3,8} {2,4,5} {2,4,6} {2,4,7} {2,4,8} {2,5,6} {2,5,7} {2,5,8} {2,6,7} {2,6,8} {2,7,8} {3,4,5} {3,4,6} { 3,4,7} {3,4,8} {3,5,6} {3,5,7} {3,5,8} {3,6,7} {3,6,8} {3 ,7,8} {4,5,6} {4,5,7} {4,5,8} {4,6,7} {4,6,8} {4,7,8} 6,7} {5,6,8} {5,7,8} {6,7,8}

使用上述組合,每個組合都需要保存作爲圖像。因此,如果您採用上述組合中的一種,例如{3,6,8}。 Photoshop應該使用圖層3,6,8創建一個新的圖像或包含這三個片段的圖層。

不知道該如何開始。到目前爲止,我已經制定了使用這個偉大的網站所有可能的組合:

http://www.mathsisfun.com/combinatorics/combinations-permutations-calculator.html

+0

得愛離散數學 – SnakeDoc

回答

1

您可以編寫一個腳本來關閉你不想要的圖層,然後保存爲一個新文件。

把一個層離:

var doc = app.activeDocument; 
var lyr = doc.artLayers[index]; 
lyr.visible = false; 

文檔對象有一個「另存爲」方法,該方法可用於指定文件的類型和位置,你需要的輸出爲。

更多信息可以在photoshop安裝目錄下的Photoshop Javascript Reference pdf中找到。

1

此功能會做你想要什麼:

gimmeTheseLayers("3", "5", "spoon"); 

function gimmeTheseLayers(l1, l2, l3) 
{ 
    for (var i = 0; i < numOfLayers -1; i++) 
    { 
    // look for the appropriate layer 
    var l = app.activeDocument.layers[i]; 
    if (l.name == l1 || l.name == l2 || l.name == l3) l.visible = true; 
    else l.visible = false; 

    // keep the background layer on 
    if (l.isBackgroundLayer == true) l.visible = true; 
} 

}

只給它的圖層名稱(以引號),它會保持這些層可見,它會關閉所有的休息除了背景。將不會與層次結構一起工作!