こんにちは。きんくまです。
iOSアプリだとアイコン画像を作るのにIconKitを使っています。
ただ、いまAIRアプリ用にアイコンを作成したくなりました。IconKitはAIR用でないので、なんとかしないといけません。
以前にどこかのブログでmacだとコマンドから画像処理をできると書いてあったことを思い出しました。
調べてみると、こんな感じにsipsコマンドで変更できるようです。
便利ですね。
>> Batch Resize Images Quickly in the OS X Terminal
>> 画像ファイルを操作する(sips)
シェルスクリプト
一括変換するシェルスクリプトを作成しました。
#!/bin/sh # settings ============ ICON_FILE="sample_icon" ICON_FORMAT="png" OUTPUT_ICON_DIR="icons" OUTPUT_ICON_NAME="icon" ICON_SIZES=(16 32 48 128) # ==================== if [ -d "./${OUTPUT_ICON_DIR}" ] then echo "" else mkdir "./${OUTPUT_ICON_DIR}" fi for size in ${ICON_SIZES[@]} do sips -Z ${size} "${ICON_FILE}.${ICON_FORMAT}" --out "./${OUTPUT_ICON_DIR}/${OUTPUT_ICON_NAME}${size}.${ICON_FORMAT}" done
設定の説明
元のアイコンファイル名(拡張子前)
ICON_FILE=”sample_icon”
元のアイコン拡張子
ICON_FORMAT=”png”
出力先ディレクトリ名(なければ1つ下の階層に新規作成)
OUTPUT_ICON_DIR=”icons”
出力ファイル名
OUTPUT_ICON_NAME=”icon”
出力サイズ(スペースでサイズを区切る。例の場合は 16px, 32px, 48px, 128px を作成)
ICON_SIZES=(16 32 48 128)
使い方
アイコンファイルとシェルスクリプトを同じ階層におきます。
ターミナルでその階層に移動した後、実行権を追加
chmod a+x icon_resize.sh
ls -l でファイル名の後ろに * がついていれば準備OK
% ls -l total 40 -rwxr-xr-x 1 kinkuma staff 444 4 26 16:55 icon_resize.sh* -rw-r--r--@ 1 kinkuma staff 14812 4 26 16:58 sample_icon.png
実行します。 ./ とカレントディレクトリをファイル名の前につけるのをお忘れなく
./icon_resize.sh
こんな感じに出力されます。
※おまけ
シェルスクリプトのif文とか配列とかよくわからなかったので、ここを真似しました。
>> HowTo: Check If a Directory Exists In a Shell Script
>> Bash Iterate Array Examples
■ 自作iPhoneアプリ 好評発売中!
・フォルメモ - シンプルなフォルダつきメモ帳
・ジッピー電卓 - 消費税や割引もサクサク計算!
■ LINEスタンプ作りました!
毎日使える。とぼけたウサギ