2013年9月25日

在 Photoshop 擴大版面尺寸成正方形

Photoshop 有兩種自動化的方式,一種是動作(action),另一種則是腳本(script)。

action 是將你的動作紀錄,例如影像尺寸的調整或是套用的功能錄製起來,只要透過播放功能就能快速套用到檔案;Script 則是讓你像寫程式一般處理變數與指令碼,就難度跟自訂性都比 action 要困難些但靈活性高很多。

先前我遇到的一個問題就是要如何讓一張圖片變成正方形,擴大版面尺寸是必要的方法,但我該如何設定擴大寬高成為最長邊呢?動作這時就派不上用場,這時 Photoshop 的 script 就是重要的關鍵。

需克服的狀況

  • 直向:高度大於寬度,設定版面尺寸為 (w*, h*)=(h, h)
  • 橫向:寬度大於高度,設定版面尺寸為 (w*, h*)=(w, w)

腳本

參考了 Mike 所寫的《Photoshop script 介紹》,我終於寫出了以下的腳本。


var w = app.documents[0].width;
var h = app.documents[0].height;
app.activeDocument = app.documents[0];
if(activeDocument.width >= activeDocument.height) {
  app.activeDocument.resizeCanvas (w, w);
}
else {
  app.activeDocument.resizeCanvas (h, h);
}


筆記

  • Photoshop Script 用 Javascript 來寫
  • 使用 Adobe ExtendScript Toolkit CS4 來撰寫除錯

沒有留言: