Imagerを使ってみた
Imagerを使って、bmpファイルをモノクロに変換してみました。
突っ込み所満載ですが、とりあえず何かして保存してみました。
use warnings;
use strict;
use Imager;
my $img = Imager->new( file=>$ARGV[0] ) or
die Imager->errstr();
for my $y (0..$img->getheight-1) {
my @colors = $img->getscanline( y=>$y );
my @pixels = ();
foreach my $color (@colors) {
my ($red, $green, $blue, $alpha) = $color->rgba;
my $y = $red + $green + $green + $blue;
$y = int( $y / 4 );
push @pixels, ( $y, $y, $y, $alpha );
}
$img->setscanline( y=>$y, pixels=>pack('C*', @pixels) );
}
$img->write( file=>'result.bmp' ) or
die "Cannot write: ", $img->errstr;
__END__
次は、最適化かな!
じゃなくて、jpegやpngのlibを入れたいデス。
おしまい。
Leave a Comment