Translate

2008年8月15日金曜日

Image::Magickモジュール

いろいろいじってみます。
ひとまず、ファイルの構成は下記の通りで進めます。
-----ファイル構成-----
t.pl
┗ pic
  ┗ b001.bmp
----------------------

◆画像のサイズを調べてみます。
use strict;
use warnings;
use Image::Magick;

my $picture = "./pic/b001.bmp";

my $img = Image::Magick->new();
$img->Read($picture);
my ($x, $y) = $img->Get('width', 'height');
print "Size:$x×$y\n";


実行結果
----------------------
Size:333×272
----------------------


◆縦/横比を保ったまま、100pxの正方形に収まるようにリサイズ変更する。
(縦/横のうち長い方を指定したサイズに変更し、縦横比に従い短い方を自動的に変更する方法)
use strict;
use warnings;
use Image::Magick;

my $old_pic = "./pic/b001.bmp";
my $new_pic = "./pic/new_b001.bmp";

my $img = Image::Magick->new();
$img->Read($old_pic);
my ($x, $y) = $img->Get('width', 'height');
print "Old_Size:$x x $y\n";

$img->Resize(geometry => 100);
$img->Write($new_pic);
$img->Read($new_pic);
($x, $y) = $img->Get('width', 'height');
print "New_Size:$x x $y\n";


実行結果
-------------------------------------------
Old_Size:333×272
New_Size:100×82
-------------------------------------------
これで、picフォルダ内に、new_b001.bmpが
100×82の画像が作成されます。


ちなみに、画像じゃないデータを渡すと何もおきません。
(※今後少しずつ追記していきます。)
Image::Magickの使い方→http://www.imagemagick.org/script/perl-magick.php

0 件のコメント: