ターミナルで、マスコットキャラとか表示してみた
こんにちは、nechinechiです。
今回は ansize といって、画像ファイルから0と1でその画像を表すように変換するものについて、記事を書こうと思います。
といっても、この説明では ansize がどういうものか伝わらなかったと思います。私も言葉で説明するのは少し難しいです。
なので、もう少し読み進んでいただいた方がわかりやすいかと思います。
始めに
この記事を書こうと思ったきっかけは、記事のネタを何にしようかと悩んでるときに、以下のサイトを見つけたことです。ちょっと面白そうだなと思う部分もあって試してみました。
また、ansizeのgithubは以下です。
インストールと実行
インストール
インストールには、goが必要です。goを使って、GOPATH
に設定した場所で、以下を実行してインストールします。
go get github.com/jasonmoo/ansize
すると、$GOPATH/src/github.com/jasonmoo/ansize
に移動すると、ansize.go
というファイルがあると思います。
このファイルを以下のようにビルドすると、実行形式ファイルが得られます。
go build ansize.go
ただ、インストールした時点で、$GOPATH/bin
の下に、ansize
というファイルがあると思います。このファイルはansize.go
をビルドした後の実行形式ファイルのようで、その実行形式ファイルをそのまま使っても大丈夫です。
実行
githubでも書かれていることですが、実行は以下のようにします。
※ ./ansize
の部分は、実行形式ファイルansize
の配置場所によって異なります
./ansize <image> <output> [width]
<image>
には、画像ファイルを指定します。
<output>
には、変換後のファイル名を指定します。
[width]
では、変換後のサイズを割合(%)で指定します。これはオプションです。割合なので、100を指定するのは、何も指定していない場合と同じ結果です。
cat
コマンドで、<output>
に指定したファイルを表示すると、うまくターミナルで表示されるはずです。
実際にやってみた
この ansize はgo言語で書かれている、ということで、go言語のマスコットキャラクターであるgopherくんで試してみました。
元の画像はこちら(画像引用元はこちら)
そしてターミナルで表示したときのスクショ
かなりきれいに表示されてますね。
また、[width]
で50(%)を指定した場合のスクショが以下です。
先ほどに比べて、だいぶ荒くなっています。
サイズが半分になっているかは、ここの画像からは判断しにくいかと思いますが、実際に実行してみると、縦・横がそれぞれ半分くらいの大きさで表示されています。
また、あまりに大きくなってしまうので、ここでは載せませんが、[width]
には100より大きい値も指定することができます。例えば、200などで表示するとよりきれいに表示されたりもします。
背景の透過されてない画像
先ほど試したgopherくんの画像は、背景が透過された画像を使っていました。
なので、試しに背景が透過されていない画像で試してみました。
元の画像はこちら(画像引用元はこちら)
そしてターミナルで表示したときのスクショ
予想はしてましたが、ちゃんと背景が表示されてますね。個人的にはなんだかかっこ悪く思います。
出来れば背景は透過されたものを使いたいですね。
Aqutras のロゴでも
弊社のロゴでも試してみました。
元の画像はこちら
そしてターミナルで表示したときのスクショ
なんだか、横幅が無理やり縮められてる...
因みに縦長の画像でも試してみた結果、無理やり正方形に納められていました...
無理やり正方形の範囲で表示されるみたいですね。
そういえば、初めに試したgopherくんの画像も少し縦が縮められているような...
以上から、元の画像は縦・横の比が、ほぼ同じものが良さそうです。
終わりに
ansize はなかなか面白いツールだと思います。
ログアウト時に表示するようにして、作業終わりに癒されてみたりしてはいかがでしょうか。
良ければ一度お試しください。
それにしても、縦横比が違っていてもそのままに表示されてほしい...