ImageMagickとperlを使った画像変換

ImageMagickを使った画像変換perlモジュールの一部です。
画像変換の箇所は含まれています。
.
# 「**」は環境変数に指定した「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」を作成する必要があります。

コメント

人気の投稿「過去1年間」

ラノベの感想) 最弱無敗の神装機竜《バハムート》第20巻 (GA文庫)

ラノベの感想) 幼女戦記 第14巻 Dum spiro,spero ‐下‐

ラノベの感想) 俺を好きなのはお前だけかよ 第17巻 (電撃文庫)

ラノベの感想) 幼女戦記 第13巻 Dum spiro,spero ‐上‐

ラノベの感想) オーバーロード 第15巻 半森妖精の神人 [上]

ラノベの感想) オーバーロード 第16巻 半森妖精の神人 [下]

ラノベの感想) 魔法科高校の劣等生 第32巻 サクリファイス編/卒業編 (電撃文庫)

ラノベの感想) オーバーロード 第14巻 滅国の魔女

ラノベの感想) ソードアート・オンライン オルタナティブ ガンゲイル・オンライン 第5巻 サード・スクワッド・ジャム ビトレイヤーズ・チョイス<下>(電撃文庫)