複数サイズのfaviconを作成するワンライナー


convertコマンドの-cloneオプションを使えばワンライナーでマルチサイズfaviconを作成できる。

以前faviconを作成する方法を書きました1が、convertコマンドの-cloneオプションを使えば、もっと簡単に複数サイズのデータを持ったicoファイルを作成できる2ことがわかりました。

faviconをワンライナーで作成

アイコンの元となる画像をfavicon.pngだとすると、次のコマンド一発で複数サイズfavicon.icoを作成できます3

convert favicon.png \
	\( -clone 0 -resize 16x16 \) \
	\( -clone 0 -resize 32x32 \) \
	\( -clone 0 -resize 48x48 \) \
	\( -clone 0 -resize 150x150 \) \
	-delete 0 favicon.ico

注意:シェルが解釈しないようにするため括弧をバックスラッシュ(円記号)でエスケープする。

このワンライナーが何をしているかというと…

  1. favicon.pngをlayer 0に読み込む。
  2. 括弧内を処理して、その結果を新しいlayerに置く。
  3. 括弧内では、-clone 0でlayer 0すなわちfavicon.pngをコピーして指定のサイズに縮小する。
  4. layer 0の元画像を削除して、favicon.icoに合成する。

色数を制限したいときには、-colorsオプションを加えます。例えば-colors 256とすると、256色に制限できます。

参照と注釈


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です