Text::AAlibをリリースしました。


AAlibPerlバインディングである Text::AAlibをリリースしました。
Sourceforgeには 9年前にプロジェクトだけ登録されていたのですが、ソースは
一切ないし、CPANにもなかったのでリリースしました。
2つめのモジュールリリースです。

インストール

Ubuntu, Debianの場合

  % sudo aptitude install libaa1-dev

Mac OSXの場合

  % sudo brew install aalib

パッケージ管理システムで aalibもしくは libaaで検索をかければ
関連するパッケージが見つかると思います。


ただ Macだと動作はしますが、うまくは見えませんでした。
フォントの設定でなんとかなるのかもしれないですが、一般的な
日本語環境の設定ではどうもうまくいきませんでした。以下の作業は
Ubuntu 11.10で行いました。

使い方

Imagerオブジェクトを指定できる put_imageメソッドを使うと簡単に
できます。自分でループをピクセル情報を取得してというのを当初考えて
いたのですが、python-aalibを見たところ、画像オブジェクトを指定できる
ようになっていたので、それを参考にしました。

#!perl
use strict;
use warnings;

use Imager;
use Text::AAlib qw(:all);

my $img = Imager->new(file => 'sample.png');
my ($width, $height) = ($img->getwidth, $img->getheight);

my $aa = Text::AAlib->new(
    width  => $width,
    height => $height,
    mask   => AA_REVERSE_MASK,
);

$aa->put_image(image => $img);
print $aa->render();

結果

Vimのロゴを AAにしてみました。AA化するとかなり大きくなるので
小さめの画像を利用するか、フォントを小さく設定することをおすすめします。
その方がきれいに見ることができますので。

おわりに

何か問題等ありましたら、メールなり Twitterなり githubなりに連絡ください。
CPANにたくさんアップすることに意味はないと思いますけど、多くの人が
使えるものがひらめいたらなるべくリリースできるようにしていきたいと
思います。