由於設計師須要在完成圖標設計後一次性生成各類尺寸的圖標給工程師,使用Sketch雖然能夠作到,可是仍是很麻煩,因此決定給他寫個腳本自動完成這個工做。html
由於工做環境都是Mac,自動化確定首選Automator
,若是使用原生的Crop方法會很麻煩,並且自動化程度不夠高,因此就想使用bash腳本,搜索了一下,發現Mac已經自帶了圖像處理的命令行工具sips
,具體用法就不細說了,能夠參考官方文檔:sips ManPagesgit
大體用法:github
bashsips [image-modification-functions] imagefile ... [--out result-file-or-dir]
而後就祭上Automator
,建立一個Service
,選擇image files
,而後添加Utilities
->Run Shell Script
,輸入下面內容:數組
bashsizes=(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
數組的內容增長鬚要生成的尺寸。bash
後來由於iOS有@2x
這樣的規則,因此又進行了一番修改,生成了特定的版本。app
bashsizes=(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了。ui
04月07日修復文件路徑空格問題命令行
歡迎你們反饋意見建議~設計
轉自:http://blog.yourtion.com/automator-batch-generate-icons.html