----------------------------------
程式名稱:影像尺寸3000。
使用語言:JavaScript (Adobe Photoshop CC 2015 ExtendScript)
程式功能:把照片縮放成指定尺寸,不受直橫幅或來源大小拘束。
執行環境:Windows 作業系統 + Photoshop CC 2015。
(Mac OS 及PS較舊版本應該也能執行,但未經測試不敢斷言)
適用對象:慣用PS、常有大量縮圖工作又不想因此另裝軟體的人。
檔案名稱:影像尺寸3000.jsx
----------前言-------------------
現代數位相機拍攝的照片,原始影像往往解析度很大,不利網路上傳或節省儲存空間。所以將照片適度縮小,已經是不少人的經常性工作。
當然在PS中,我們可以錄製一個[影像尺寸]功能的「動作」儲存,再用"批次處理"方式,就可以一次處理大量照片,減輕工作負擔。
但是...用PS的[影像尺寸]縮放功能錄製動作有一個"缺點",它無法"固定尺寸縮圖"同時兼顧資料夾裡"直橫幅混雜+影像大小不同"。固然選用「%」比率功能是可以應付直橫幅的不同,但來源照片偶有裁切,並非始終固定尺寸。所以依「%」比率功能所作成的縮圖,也就會出現大小不等的問題。
常見的做法是:把直橫幅分開於不同資料夾,再選用[影像尺寸裡]「像素」的功能,設定固定像素寬度(或高度),分別錄製成不同的「動作」去處理,之後再把直橫幅照片收在一起,這就讓工作變得繁瑣與增加負擔。
這個程式就是想避免這種麻煩,讓同一資料夾內不管直幅橫幅、也不管影像大小,通通縮成同一尺寸規格的照片。
坊間有些現成軟體可以做到這一點,但如果能不用為了這個簡單功能,再去安裝另一軟體來增加電腦的複雜性,也是不錯的主意。何況或許也會有人"比較信任PS的縮圖演算",希望影像處理工作最好能從頭到尾都由PS包辦。所以對某些人而言,這小程式就有存在的意義。
--------使用方法-----------
1.下載下方zip檔案,執行解壓縮後可見"影像尺寸3000.jsx",將它存放於硬碟任一資料夾之中(請記住你放在哪裡)。
2.啟動Photoshop,打開任一照片檔案。
3.點開「動作」面板,按[建立新增動作],給這動作取個名字,例如:"縮圖3000"。(開始錄製)
4.按[檔案\指令碼\瀏覽],出現檔案Dialog。找到"影像尺寸3000.jsx",點它一下,再按「載入」。
![[分享]Photoshop JavaScript 縮圖小程式](http://attach.mobile01.com/attach/201512/mobile01-e210b68969ae66cf232418d612666741.jpg)
![[分享]Photoshop JavaScript 縮圖小程式](http://attach.mobile01.com/attach/201512/mobile01-500af3fddd1d16b24c77a23dc8fabab1.jpg)
5.如果你所開啟的照片,長邊大於3000像素,那你就會看到影像被縮為"長邊是3000px"的照片,不管這張照片是直幅或橫幅。
6.如果照片長邊小於3000,那將沒有任何變化發生。因為我程式裡,預設了"避開小尺寸的縮放"。
7.這程式不會幫你的照片存檔,如有需求,請自行在錄製動作中添加。
8.按停止錄製icon,結束動作錄製。
9.選用PS的[檔案\自動\批次處理],指定上述動作,就可以針對整個資料夾進行固定尺寸縮圖,而不用理會直橫幅混雜存放的問題。
*這程式設計來取代PS的[影像\影像尺寸]功能。它遇到大的就縮小,遇到小的就放大,但我們可以選擇"只處理大的"。而縮成長邊3000像素只是預設值,當然也可以改。
--------如何修改參數?--------------
1.用Windows「記事本」開啟"影像尺寸3000.jsx"檔案。(它是純文字檔,千萬不可以用小作家或Word這類有插入控制碼的編輯器修改)
2.你只需修改兩處:
![[分享]Photoshop JavaScript 縮圖小程式](http://attach.mobile01.com/attach/201512/mobile01-43bcc6043442bb432bafbdde75e92bce.jpg)
3.按[檔案\另存新檔],為它取個好辨認的名字。特別注意:副檔名是 .jsx ,這不可以改。
4.你可以根據不同需求,另存新檔好幾個,透過檔名的辨識,錄製許多不同尺寸的縮圖「動作」以符工作需要。例如:縮圖800.jsx、縮圖1024.jsx ...等等。
--------注意事項----------
1.這類 .jsx 的JavaScript 程式,在PS裡稱為"指令碼"。如遇到"指令碼警告"錯誤訊息,就是程式有錯誤產生。
2.別誤用全形字修改數值,解譯器不認識全形數字。注意全形空白,不可誤入"程式區"(看上圖)。
3.PS動作錄製完畢之後,如再去變更對應的??????.jsx檔案檔名、或是將它移往別的資料夾,都會造成"指令碼不存在"的執行錯誤,需要重新錄製動作。
--------後語-------
*本來只是寫來自用,但既然已經寫了,分享他人也於己無損(只是添加一些防呆程式碼與說明而已

*這程式在本人電腦上執行多時並無問題,但並未於其他環境廣泛測試,如有未盡理想或誤漏之處,還請先進不吝指正。
*這是未經編譯的明碼程式,不會有任何夾帶惡意程式之可能,不是聞西的"要你命3000",盡可放心。

附加壓縮檔: 201512/mobile01-6a406755e6f8558cb40b63c4fc149f7f.zip