2010年12月25日 星期六

Photoshop自動產生4*6的選取範圍(置中)

因為已半年多沒洗照片了,這次一次要洗幾百張的照片,光裁切成4*6就很費工夫,雖然有軟體可以幫你自動置中裁切,但我喜歡自己裁呀,畢竟不是每張照片置中裁切的結果都是你想要的,於是寫了個簡單script,會自動幫你產生4*6的選取範圍喔,簡化了你用滑鼠產生選取範圍的動作,你再自己錄製action配合快捷鍵使用囉,script如下,請存成*.jsx

#target photoshop;
//沖洗比例4*6
var developW = 4
var developH = 6

//判斷是否有開啟圖檔

    if(app.documents.length > 0){  
        //有開啟圖檔,設定doc為目前圖檔的參照(reference)  
        var AD = app.activeDocument;  
        //var AD = activeDocument.duplicate(); //建立副本
    }else{  
        //沒有開啟圖檔  
        alert("請開啟要沖印的圖檔");  
        var file = app.openDialog()
        if (file[0]) {
            app.load(file[0]);
            var AD = app.activeDocument;  
        }
    }

var photoWidth = AD.width.value //圖片寬度
var photoHeight = AD.height.value //圖片高度
var oriW= 0
var oriH = 0

//直橫幅判斷
if (photoWidth > photoHeight ) {
    var selectW = photoWidth
    var selectH = (selectW /6*4)

    if (photoHeight != selectH)
        var oriH = (photoHeight - selectH)/2
     }
else {
    var selectH = photoHeight
    var selectW = selectH /6*4
    if (photoWidth != selectW)
        var oriW= (photoWidth - selectW)/2
 }
selRegion = Array(Array(oriW,oriH), //left(左上)
    Array(oriW + selectW ,oriH), //top(右上)
    Array(oriW+ selectW, oriH+ selectH), //right(右下)
    Array(oriW ,oriH +selectH )) //bottom(左下)
AD.selection.select(selRegion)
AD=null

0 意見:

張貼留言