因為設計師需要在完成圖示設計後一次性生成各種尺寸的圖示給工程師,使用Sketch雖然可以做到,但是還是很麻煩,所以決定給他寫個指令碼自動完成這個工作。
因為工作環境都是Mac,自動化肯定首選Automator
,如果使用原生的Crop方法會很麻煩,而且自動化程度不夠高,所以就想使用bash指令碼,搜尋了一下,發現Mac已經自帶了影像處理的命令列工具sips
,具體用法就不細說了,可以參考官方文件:sips ManPages
大致用法:
bash
sips [image-modification-functions] imagefile ... [--out result-file-or-dir]
然後就祭上Automator
,建立一個Service
,選擇image files
,然後新增Utilities
->Run Shell Script
,輸入下面內容:
bash
sizes=(144 96 72 29) for f in "$@"; do for size in ${sizes[@]};do sips -Z $size $f -o ${f/.png/_$size.png} done done
這個是最基本的版本,可以通過新增sizes
陣列的內容增加需要生成的尺寸。
後來因為iOS有@2x
這樣的規則,所以又進行了一番修改,生成了特定的版本。
bash
sizes=(144 76 144 120 180 80 160 57 114 40 80 120 29 58 97) sizen=(144 76 76@2x 60@2x 60@3x 80 80@2x 57 57@2x 40 40@2x 40@3x 29 29@2x 29@3x) for f in "$@" do for i in "${!sizes[@]}"; do sips -Z ${sizes[$i]} $f -o ${f/.png/_${sizen[$i]}.png} done done
儲存為Build icons
,然後在Finder中選中要生成的圖示原始檔(必須是png哦),選擇Services
中的Build icons
就會在原始檔同目錄生成一批你需要的圖示了。
原始碼和生成的Automator檔案在GitHub:https://github.com/yourtion/AutomatorGenerateICON,點選“Download ZIP”下載壓縮包後,解壓,雙擊直接安裝就OK了。
04月07日修復檔案路徑空格問題
歡迎大家反饋意見建議~
轉自:http://blog.yourtion.com/automator-batch-generate-icons.html