通常Macのアプリケーションバンドル(.app)の中には、そのアプリのアイコンとして「icns」ファイルが格納されています。
icnsファイルは解像度ごとに複数の画像を格納できる少し特殊な形式のファイルですが、本日紹介する「makeicns」を利用すれば、png形式の画像を一枚準備するだけで簡単にicnsファイルを作成することができます。
以下使用方法を説明します。
makeicnsの使用方法
makeicnsをインストールするにはHomebrewかMacPortsを使用します。
Homebrewの場合:
$ brew install makeicns
MacPortsの場合:
$ sudo port install makeicns
一つのpngファイルからicnsファイルを作成したい場合、「makeicns -in pngファイル -out icnsファイル」のように実行します。
$ makeicns -in icon.png -out icon.icns 2018-12-25 20:10:33.469 makeicns[6637:389191] Resampling for 512 wide x 512 high 2018-12-25 20:10:33.496 makeicns[6637:389191] Resampling for 256 wide x 256 high 2018-12-25 20:10:33.512 makeicns[6637:389191] Resampling for 128 wide x 128 high 2018-12-25 20:10:33.527 makeicns[6637:389191] Resampling for 32 wide x 32 high 2018-12-25 20:10:33.539 makeicns[6637:389191] Resampling for 16 wide x 16 high 2018-12-25 20:10:33.552 makeicns[6637:389191] Wrote output file "icon.icns"
メッセージを確認するとオリジナルのpngファイルが、512x512、256x256、128x128、32x32、16x16にリサンプリングされicnsファイルとして出力されたことが分かります。
サイズごとに画像を変更することもできます。
以下の場合は512x512と32x32のバリアントを含むicnsファイルが作成されます。
$ makeicns -512 image.png -32 image.png
また次の場合は32x32がotherfile.pngから、それ以外の512、256、128、16がmyfile.jpgから作られたoutfile.icnsが作成されます。
$ makeicns -in myfile.jpg -32 otherfile.png -out outfile.icns
すなわち「-数字 画像ファイル」と指定すると、その画像ファイルからは指定したサイズだけが取り出され、特に何も指定しないと対応している全画像サイズにリサイズされる仕様だということがわかります。
makeicnsを引数なしで実行するとサンプル含め説明が表示されます。
$ makeicns makeicns v1.4.10 (284bd686824f) Usage: makeicns [k1=v1] [k2=v2] ... Keys and values include: 512: Name of input image for 512x512 variant of icon 256: Name of input image for 256x256 variant of icon 128: Name of input image for 128x128 variant of icon 32: Name of input image for 32x32 variant of icon 16: Name of input image for 16x16 variant of icon in: Name of input image for all variants not having an explicit name out: Name of output file, defaults to first nonempty input name, but with icns extension align: [center, left, right, top, bottom] {First letter suffices!} Examples: makeicns -512 image.png -32 image.png Creates image.icns with only a 512x512 and a 32x32 variant. makeicns -in myfile.jpg -32 otherfile.png -out outfile.icns Creates outfile.icns with sizes 512, 256, 128, and 16 containing data from myfile.jpg and with size 32 containing data from otherfile.png.
まとめ
makeicnsを使用すればpngファイルから簡単にicnsファイルを作成することができます。作られた時期が古くRetina形式には対応していないようですが、Automatorで作成したアプリのアイコンを手軽に変更したい場合などに覚えておくと便利なツールです。