網路會員
|
2005/10/11 14:00
器材:
其他 其他
以往縮圖的時候,必須依照直幅或橫幅照片來決定不同的 Width, Height 如果只有幾張照片還好,照片一多對於批次化處理來講,多了一個必須由人來做判斷的過程 偏偏 action 無法解決這個問題,除非對直幅跟橫幅照片分別過一個縮圖的 action (如果有人知道怎麼做的話,請跟我說一下)
這個問題其實可以用 Photoshop Scripting 來解決 底下是用以前為了放小圖到 P910i 時所寫的一段 script 改的
//////////////////////////////////////////////////////
if (app.documents.length == 0) { var docRef = app.documents.add(); } else { var docRef = app.activeDocument; }
var PH = 800; // 視需要修改 var PW = 600; // 視需要修改 var PRESOLUTION = 72; app.preferences.rulerUnits = Units.PIXELS;
// 得到目前圖片的寬跟高 var dh = docRef.height; var dw = docRef.width;
var fw = PW; var fh = PH;
// 直幅橫幅圖片的處理 if( dh < dw) { var fw = PH; var fh = PW; }
// 開始縮圖 docRef.resizeImage(fw, fh, PRESOLUTION, ResampleMethod.BICUBIC);
//////////////////////////////////////////////////////
打開記事本,把兩個斜線中的程式碼複製貼到新文件,存檔,檔名可以隨便取 以 photoshop cs2 為例 我把檔名取為 smart_resize.jsx,並存到 C:\Program Files\Adobe\Adobe Photoshop CS2\Presets\Scripts (在這個目錄裡面你可以看到其他的 script 檔案)
程式碼裡面的 PH 跟 PW 請視需要修改 這兩個變數代表你照片所需要的 Width 跟 Height
好了之後,打開 photoshop (如果本來就開啟的話,請關掉重開) 這時候我們可以試一下,各開直幅跟橫幅照片各一張 接下來點選功能表的 File > Scripts 會發現多了一個 smart_resize (視你取的檔名而有所不同) 直接點下去之後 橫幅照片會乖乖的讓寬 = 800 pixel, 長 = 600 pixel 直幅反之 這樣就算完成了
更方便一點的可以這樣作 如果你已經製作了一個縮圖專用的 action 的話 (縮圖、銳利化、加框、簽名...等等) 我們可以把執行 smart_resize 這個動作,加到 script 裡面 這麼一來,以往必須多做的 resize 就可以一次解決了
|