PHOTOSHOP CS 2 的 SCRIPTING 學習心得!:ZEAX ~ [ 狂‧熱‧之‧年 ] Z E A L O U S A G E ~ !:Xuite日誌
  • MOTIVATION~!
  • 已建立的相簿
  • 文章分類
  • 最新文章
  • 最新回應
  • Re:不要為了 AJAX 而學 ajax,by(老婆)於2006-02-23
    Re:PHOTOSHOP CS 2 的 SCRIPTING 學習心得!,by(老婆)於2006-02-08
    Re:PHOTOSHOP CS 2 的 SCRIPTING 學習心得!,by(ZEAX)於2006-02-06
    Re:有看到文的網友,by(網友)於2006-01-25
    Re:一些以前寫的詩.,by(老婆)於2006-01-25
    Re:國立中正大學電子公文系統,by(老婆)於2006-01-25
    Re:東京下大雪‧返美一波三折,by(老婆)於2006-01-25
    Re:結婚殘念論,by(老婆)於2006-01-25
    Re:ASIAN-ROADS,by(老婆)於2005-12-04
    Re:啟動~!,by(老婆)於2005-11-26
  • 最愛連結
  • ZEAX
  • 嗯~ 喜歡創作, 畫畫、音樂、寫作, 熱愛自由. 並且很愛我的老婆.

    2006-02-06 09:03 PHOTOSHOP CS 2 的 SCRIPTING 學習心得!
  • ?
  • 學習心得
  • 好文轉寄
  • 平均分數:0 顆星    投票人數:0
    我要評分:
    標籤 : 


    有時候處理一些重複的工作,可是工作又不能使用 BATCH 等設定的話,使用SCRIPTING 是最好的方法~ PHOTOSHOP CS2 的SCRIPT 是基於幾個常用易學的語法:

    VB SCRIPT
    JAVA SCRIPT

    變數宣告跟函式的使用都很直覺,不用像JAVA IMPORT一堆有的沒的,沒IMPORT到就不能用,使用的感覺架構跟 JS 非常像,主要控制圖層方面,至於SLICE 等的東西就沒支援了。

    我的目標是要寫一個可以把PHOTOSHOP圖層裏面的 GROUP (資料夾) 一個一個輸出的JSX ( ADOBE 命名的副檔名 ) 它的概念就是,把資料夾一個一個做個別的顯示,然後順序輸出成 JPEG ,因為我的有兩層資料夾,就使用了 3 個 FOR,感覺有比用手快,因為用手又要一直按那隻 "眼" 去顯示你要輸出的,一邊出輸又要記著現在是第幾號,重點是還要打字 = =...

    使用SCRIPT 可以快速完成 (當然寫也要花時間啊 ) 不過重點是,如果有一些很花時間的輸出,是不確定的,就是說可能還會改~手動就很慘了,有了SCRIPT,稍為改一下又可以重用了。

    以下是我寫的 SCRIPT:

    var rootLen =   app.activeDocument.layerSets.length;    // 最上層有幾個 GROUP
    var expOpt = new ExportOptionsSaveForWeb();          // 輸出設定
    var fname = "";
    expOpt.format =  SaveDocumentType.PNG;                  
    // 輸出 設定(可省)


    for( var i = 0 ;  i < rootLen ; i++){
           
            len1 =   app.activeDocument.layerSets[i].layerSets.length;     // 裏面有幾個GROUP
           name1 = app.activeDocument.layerSets[i].name;
          
           var ans = confirm("Now Processing:" + name1);      // 提示
          
           if(ans){
            
           for( var j = 0; j < len1 ; j++){
          
              len2 =   app.activeDocument.layerSets[i].layerSets[j].layerSets.length;
              name2 = app.activeDocument.layerSets[i].layerSets[j].name;   
           //   app.activeDocument.layerSets[i].layerSets[j].visible  = true;

              for( var k = 0 ; k < len2 ; k++){
             
                app.activeDocument.layerSets[i].layerSets[j].layerSets[k].visible  = true;   //  顯示它
                name3 = app.activeDocument.layerSets[i].layerSets[j].layerSets[k].name; 
                
        
                  // msg = "Export: "+ name1+"\"+name2+"\"+name3+"\";
                      //   alert(msg);
                    fname =  "C:/XEAZ/WORKS/1.RECENT_WORK/Edoc/META/CHG/" + name1 + "/" + j + "_" +   name3 + ".jpg";

                //     alert(fname);
                 app.activeDocument.exportDocument(new File( fname), ExportType.SAVEFORWEB );  // 輸出
                
                             app.activeDocument.layerSets[i].layerSets[j].layerSets[k].visible  = false;  // 還原
                  
              }
              }
          
           }
           
                    
           alert("OK!!");
     

    }





    ZEAX / Xuite日誌 / 回應(2) / 引用(0) / 好文轉寄
  • 回應