複数サイズの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
注意:シェルが解釈しないようにするため括弧をバックスラッシュ(円記号)でエスケープする。
このワンライナーが何をしているかというと…
- favicon.png を layer 0 に読み込む。
- 括弧内を処理して、その結果を新しい layer に置く。
- 括弧内では、
-clone 0
で layer 0 すなわち favicon.png をコピーして指定のサイズに縮小する。 - layer 0 の元画像を削除して、favicon.ico に合成する。
色数を制限したいときには、-colors
オプションを加えます。例えば-colors 256
とすると、256 色に制限できます。
参照と注釈
- WEBブラウザのタブにオリジナルアイコンを表示
- FavIcon Web Page Link Thumbnail – ImageMagick v6 Examples – Creating Thumbnails and Framing
- ワンライナーですが、見やすくするために複数行に分けて書いています。