画像の角度を指定し回転する その1 - Perl,ImageMagick

ImageMagickを使用し、画像の角度を指定し、その角度分回転させたい。FlipメソッドとFlopメソッドはそれぞれ180度の回転しかできないが、Rotateメソッドを用いれば自由に角度を調整できる。

実行例

befor after
オリジナル画像 30度回転した画像

サンプル

#!/usr/bin/perl

;#
;#角度を指定し、画像を回転する
;#

use Image::Magick;

#-------------------------------------------#
#初期設定
#-------------------------------------------#
#-- 元画像 --#
my $source = './sample_org1_s.jpg';

#-- 回転する角度 --#
my @list = (
    0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360
);


#-------------------------------------------#
#画像を30度ずつ回転する
#-------------------------------------------#
foreach my $degree (@list){
    #-- インスタンス生成 --#
    my $image = Image::Magick->new;

    #-- 画像を読込む --#
    $image->Read($source);

    #-- 回転 --#
    $image->Rotate(degrees=>$degree);

    #-- 画像を保存する(JPEG) --#
    $image->Write("./image_$degree.jpg");

    #-- オブジェクト削除 --#
    undef $image;
}

実行例一覧

角度 画像
0度 0度回転した画像
30度 30度回転した画像
60度 60度回転した画像
90度 90度回転した画像
120度 120度回転した画像
150度 150度回転した画像
180度 180度回転した画像
210度 210度回転した画像
240度 240度回転した画像
270度 270度回転した画像
300度 300度回転した画像
330度 330度回転した画像
360度 360度回転した画像