2013年3月4日月曜日

iPhone用のアイコンをshスクリプトで何とかする話

iOS向けのアイコンファイルは、命名固定で、iPhone向けとiPad向け、iTunesストア向けで複数の大きさの物を用意しないといけない。高解像度であれば、代替え可能だけれども、そんなに難しくなさそうなので、大きな画像を一つ作りそこから該当する画像を作るスクリプトを書いてみた。

シェルスクリプトの選定理由は、Pythonだと画像処理ライブラリPython Imaging Library (PIL)を入れなければならず、別にいいんだけど、少々面倒くさかった為。
でも、シェルスクリプトでは画像処理もっと大変なんじゃ?って思ってたんだけど、sipsコマンドの存在を知って、シェルスクリプトで行う事にした。

sipsコマンドはMacで使える画像処理コマンドで、画像のパラメーター取得や、リサイズなどを行う便利ライブラリである。Automatorの裏で走ったりしてんじゃないかな?
これを使えば、画像の一括処理バッチが簡単に組める筈。
詳細に関しては他にこの話題に明るいブログがあるので、そちらを参照すると良いと思う。

http://d.hatena.ne.jp/toolkit/20060726/p1 

んで、もって中身なんだけど、iOSをリリースする際に用意しなければいけない画像としては、次の種類の物があるらしい。

iTunesArtwork@2x.png   アップストア用(iPohne4以降用)
iTunesArtwork.png  アップストア用
Icon-Small-50.png  iPad 設定/スポットライト用
Icon-72.png  iPad アプリ用
Icon-Small-50@2x.png  iPad(第3世代) 設定/スポットライト用
Icon-72@2x.png  iPad(第3世代) アプリ用
Icon-Small.png  iPhone設定アプリ内
/スポットライト用
Icon-Small@2x.png  iPhone設定アプリ内/スポットライト用(iPhone4以降用)
Icon@2x.png  通常アイコン(iPhone4以降用)
 Icon-Small.png  iPhone設定アプリ内/スポットライト用
Icon.png  通常アイコン

うん。正直めんどくさいよね。
 ファイル名は固定なので、一番大きいサイズの iTunesArtwork@2x.pngを作成して与えてやれば、他の物が生成される仕様にした。
スクリプトはこんな感じ。

 
#!/bin/bash

sips --resampleWidth 512 --out iTunesArtwork.png iTunesArtwork@2x.png 
sips --resampleWidth 50 --out Icon-Small-50.png iTunesArtwork@2x.png 
sips --resampleWidth 72 --out Icon-72.png iTunesArtwork@2x.png 
sips --resampleWidth 100 --out Icon-Small-50@2x.png iTunesArtwork@2x.png 
sips --resampleWidth 144 --out Icon-72@2x.png iTunesArtwork@2x.png 
sips --resampleWidth 29 --out Icon-Small.png iTunesArtwork@2x.png 
sips --resampleWidth 58 --out Icon-Small@2x.png iTunesArtwork@2x.png 
sips --resampleWidth 114 --out Icon@2x.png iTunesArtwork@2x.png 
sips --resampleWidth 29 --out Icon-Small.png iTunesArtwork@2x.png 
sips --resampleWidth 57 --out Icon.png iTunesArtwork@2x.png 

これで、画像ファイルと一緒に適当なディレクトリに置いてシェルスクリプトとして実行させればオッケーという寸法。
ファイル作成時に改行コードはLFでね。(少し迷った。)

何と言うか今更な話題ではある感じ。という訳で仕事しよ。

0 件のコメント:

コメントを投稿