Imager - 画像の編集を簡単に行う



  1. Perl




  2. モジュール



  3. here

「Imager」モジュールを使用すると「画像の編集」が簡単にできます。Tipsを紹介します。

「日本語」を描画する

 Imagerで日本語を描画するには次のようにします。

use strict;
use warnings;
use utf8;

use Imager;

my $img = Imager->new;

# 画像の読み込み
$img->read(file => 'example.jpg')
  or die $img->errstr;

# フォント
my $font = Imager::Font->new(
  file => '/usr/share/fonts/ja/TrueType/kochi-gothic-subst.ttf'
);

# 文字列の描画
$img->string(
  x => 50,
  y => 50,
  string => 'やったー',
  font => $font,
  size => 15,
  aa => 1,
  color => '#000000',
) or die $img->errstr;

# 画像の保存
$img->write(file => 'new_example.jpg')
  or die $img->errstr;

 Imager::Fontでフォントオブジェクトを作成しています、フォントが実際に存在するパスを指定します。上記の例はCentOSの場合です。

 stringメソッドを使って、画像の上に文字列を描画しています。aaはアンチエイリアスをかけるオプションです。

 スクリプトUTF-8で保存して、utf8プラグマを有効にしましょう。

バイナリデータを読み込む

 PerlのImagerモジュールでバイナリデータを読み込むにはreadメソッドのdataオプションを使用します。

$img->read(data => $data, type => 'jpeg')
  or die $img->errstr;

 画像のタイプも合わせて指定する必要があるので注意してください。

CentOSでImagerを使うための準備

 Imagerは画像を加工するためのPerlのモジュールです。jpeg, png, gifという画像形式とフォントを扱うためにあらかじめ以下のライブラリをCentOSにインストールしておきましょう。

yum -y install libjpeg-devel
yum -y install libpng-devel
yum -y install giflib-devel
yum -y install freetype-devel

 それからImagerをインストールします。

cpan Imager