AAlib

URL: https://aa-project.sourceforge.net/aalib/
ライセンス: LGPL

概要

AAlib は任意の画像をアスキーアート (Ascii Art) に変換・表示するためのライブラリである。アスキーアートと一口に言っても様々な形態があるが、AAlib が出力するのは「すべてのフォントが等幅」であり、基本的には文字の「濃さ」(ピクセル数の多さ)で元画像を表現するものである。そのため、そこそこ大きな文字数(80x24など)を費して、遠目で見るとわかるようなアスキーアートとなる。 2ch でよく見られるような輪郭線を文字の形でうまく再現したものにはならない。

使用する文字は基本的に ASCII コードで規定されているもののみだが、色の濃さの段階を設けることができたり太字や反転文字を使うかどうかを設定できたりと、表示能力を調節することができる。また出力形式も様々で、テキストの他に HTML もサポートしている。()

アルゴリズム

AAlib では入力としてビットマップを受け取り、それを 2x2 ドットごとに分割、それぞれで 2x2 ドットの内容を反映した文字を算出し、表示する(於標準設定)。 この 2x2 ドットのパターンに対する文字として、ドットの量が少なければ(色が薄ければ)"." のような文字を、多ければ(色が濃ければ)"#" のような文字を対応させている。また、ドットの総量だけでなく、その形状も反映させている。例えば左上が欠けているようなパターンには “d” のような文字を使う。こうした工夫をすることで、遠目にはなかなか滑らかな変換を実現している。

AAlib を使ったプログラム

bb
AAlib を駆使したデモプログラム。これは一見の価値アリ。ここでいう「デモ」はいわゆる「メガデモ」の形式。
HasciiCam
FreeJ を書いた Jaromil の作品。ライブカメラ映像をアスキーアート(HTML形式)にして、ウェブブラウザ上で連続再生するもの。
aatv
ビデオカメラの画像をリアルタイムに AA 化するソフト。Video4Linux を使用。
aalib-based x server
X Window System の画面そのものを AA 化するもの。事実上なんでも AA 化して見ることができる。

関連