1. Perl
  2. モジュール
  3. here

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

「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

業務に役立つPerl

Perlテキスト処理のエッセンス

PerlでポータブルなLinuxファイル管理入門

ITエンジニアの求人情報など

 ITエンジニアの求人情報・Webサービス・ソフトウェア・スクールなどの情報。

システム開発のお問い合わせ