使用Automator批量生成圖示

Yourtion發表於2015-04-05

因為設計師需要在完成圖示設計後一次性生成各種尺寸的圖示給工程師,使用Sketch雖然可以做到,但是還是很麻煩,所以決定給他寫個指令碼自動完成這個工作。

因為工作環境都是Mac,自動化肯定首選Automator,如果使用原生的Crop方法會很麻煩,而且自動化程度不夠高,所以就想使用bash指令碼,搜尋了一下,發現Mac已經自帶了影像處理的命令列工具sips,具體用法就不細說了,可以參考官方文件:sips ManPages

大致用法:

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陣列的內容增加需要生成的尺寸。

後來因為iOS有@2x這樣的規則,所以又進行了一番修改,生成了特定的版本。

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了。

04月07日修復檔案路徑空格問題

歡迎大家反饋意見建議~

轉自:http://blog.yourtion.com/automator-batch-generate-icons.html

相關文章