makeicns - Macのicns形式ファイルを作成するコマンドラインツール

S 20181225 201221

通常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ファイルとして出力されたことが分かります。

S 20181225 203002

サイズごとに画像を変更することもできます。

以下の場合は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で作成したアプリのアイコンを手軽に変更したい場合などに覚えておくと便利なツールです。

スポンサーリンク