JPEGファイルからfavicon.icoを作成するためのコマンド
はじめに
SNS でいつも使っている僕のプロフィール用 JPEG 画像( Gravatar でも使っています。 )から favicon.ico ファイルを作成し、作成途中のサイトのブックマークアイコンとして利用したいと思いました。
自動化も見据えて、コマンドで作成できないか調べてみました。
検証環境
$ uname -moi
x86_64 x86_64 GNU/Linux
$ bash -version | head -n 1
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
image-to-icon を使う
Github を漁ってみたところ、ちょうど良さそうなコマンドが見つかりました。
ワン・コマンドで変換でき、オプションもない、というシンプルさ。 UNIX という思想 を体現していて大好きです。
インストール
今回動作を確認した環境は CentOS の Docker コンテナなのですが、いくつか必要となるコマンドがあったため、 yum でインストールしてから利用します。
# このあたりはDockerを使う必要は全くありません。Mac環境を汚したくなかっただけです。
$ docker run -it \
--rm -v "$PWD:/workdir" \
--workdir /workdir genzouw/centos-sandbox
依存ライブラリとして、 ImageMagick をインストールする必要がありました。
$ sudo yum install ImageMagick which -y
あとはコマンドを Github から clone するだけ。
$ cd /usr/local/src/
$ git clone https://github.com/koenpunt/image-to-icon.git
$ chmod 755 image-to-icon/image-to-*
$ cd /usr/local/bin/
$ ln -s /usr/local/src/image-to-icon/image-to-* .
実行
変換に利用する元ファイルの JPEG はいつも SNS で使っている僕のプロフィールイメージを利用します。
適当な場所において、以下のコマンドを実行します。
$ image-to-favicon profile.jpg favicon.ico
Created /workdir/favicon.ico with the following sizes: 16x16 32x32 64x64
favicon.ico というファイル名で画像が作成されたので、ブラウザで閲覧してみましょう。
favicon.ico が配置されているディレクトリに適当な html を作成して以下のコマンドを実行します。
$ echo '<h1>hello</h1>' > index.html
ちょうど PHP がインストールされていたので、組み込みサーバを使って Web ページを公開します。
$ php -S localhost:8080
PHP 7.2.34 Development Server started at Tue Feb 16 21:27:00 2021
Listening on http://localhost:8080
Document root is /Users/genzouw/Pictures/Monosnap
Press Ctrl-C to quit.
http://localhost:8080 にブラウザでアクセスしてみます。
うまくいけているようですね。
ひとこと
実は今回利用した image-to-favicon
というスクリプト、ただの Bash シェルスクリプトのようです。
convert
コマンドを実行しているだけなので、普通に convert
の使い方を学べばよかったのかもと思いつつ、学習時間削減できたからいいかと思っておきます。
ディスカッション
コメント一覧
まだ、コメントがありません