ImageMagickとperlを使った画像変換
ImageMagickを使った画像変換perlモジュールの一部です。
画像変換の箇所は含まれています。
.
Windowsで実行しています。
環境変数に「PERL5LIB」を作成する必要があります。
画像変換の箇所は含まれています。
.
# 「**」は環境変数に指定した「PERL5LIB」に続くパス
package **::ImageOperation::BmpToJpg;
use Image::Magick;
use **::ImageOperation::PrintResult;
sub new
{
my $class = shift;
return $class;
}
sub Operation
{
my($self, @DATA) = @_;
# 画面出力オブジェクトを作成
my $obj = new **::ImageOperation::PrintResult;
foreach my $source (@DATA) {
chomp($source);
if ($source ne 'list.txt') {
if ($source =~ ".jpg" or $source =~ ".JPG") {
$obj->Operation($source, "skip");
} else {
# ImageMagickのオブジェクトを作成
my $image = Image::Magick->new;
# 画像ファイルの読み込み
$image->Read($source);
# 出力ファイルのファイル名の作成
my $jpgname = $source;
if ($jpgname =~ ".bmp") {
$jpgname =~ s/\.bmp$/\.jpg/;
} elsif ($jpgname =~ ".BMP") {
$jpgname =~ s/\.BMP$/\.jpg/;
} elsif ($jpgname =~ ".png") {
$jpgname =~ s/\.png$/\.jpg/;
} elsif ($jpgname =~ ".PNG") {
$jpgname =~ s/\.PNG$/\.jpg/;
}
# 変換品質を指定
$image->Set(quality => 100);
# 画像変換
$image->Write($jpgname);
# ImageMagickオブジェクトの廃棄
undef $image;
# 結果を画面に出力
$obj->Operation($source, $jpgname);
}
}
}
}
1;
.Windowsで実行しています。
環境変数に「PERL5LIB」を作成する必要があります。
コメント
コメントを投稿