2013-07-08 43 views
2

在Photoshop中,可以通過按ctrl/cmd並單擊圖層窗格中圖層的縮略圖將選區設置爲圖層的透明通道。將其記錄爲動作時,將顯示「將選擇設置爲:圖層'LAYERNAME'的透明通道'」。將選擇設置爲圖層透明度通道在Photoshop中使用Extendscript

是否有可能使用Photoshop的Extendscript複製此功能以用於Photoshop插件,以及如何完成此操作?我需要動態地打開文件並以這種方式選擇某個圖層。

謝謝你的時間。

回答

1

正試圖弄清楚這只是昨天。從澆築文檔在我的結論是,你有2個基本選項:

  1. 在Photoshop中創建一個動作,簡單地作選擇和使用app.doAction([actionName], [actionSetName])從腳本調用它。

  2. 使用腳本偵聽器插件來提取自己的函數來執行選擇,並直接在腳本中使用它。

選項1似乎有點「安全」的,但它確實在引入具有特定的名稱和功能目前已在PS的作用的依賴;這是吸吮。

選項2有點難以維護,但它將自身內部的所有依賴關係封裝得很好。如果你想要去與再嘗試添加在你的腳本調用這個函數(你會從腳本聽者得到什麼稍微乾淨版本):

function SelectTransparency() 
{ 
    var idChnl = charIDToTypeID("Chnl"); 

    var actionSelect = new ActionReference(); 
    actionSelect.putProperty(idChnl, charIDToTypeID("fsel"));  

    var actionTransparent = new ActionReference();  
    actionTransparent.putEnumerated(idChnl, idChnl, charIDToTypeID("Trsp")); 

    var actionDesc = new ActionDescriptor(); 
    actionDesc.putReference(charIDToTypeID("null"), actionSelect); 
    actionDesc.putReference(charIDToTypeID("T "), actionTransparent); 

    executeAction(charIDToTypeID("setd"), actionDesc, DialogModes.NO); 
} 

只要確保你有需要的文件,一個在調用方法之前有效的圖層處於活動狀態希望能幫助到你。

+0

這完美的作品!最後,我最終使用腳本偵聽器的輸出設置了我的整個腳本,並將其封裝在函數中。 –