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