【第0回】Perlで画像処理 -Imagerの練習-
格闘ゲーム作成はなかなか根気が必要ですね。
いや、慣れている人はさっと作るんだろうけどさ。。。
気分転換に画像処理の勉強でもしてみようかなぁと
思いとりあえず記事を書いてみている。
まず、Perlで画像を扱う場合Imagerが定番?らしい。
というわけで、まずは練習がてらに
コードを書いてImagerの使い方をさっと学んでみる。
■実行前
■実行後
てな感じになる。
# 絵の素材はこちらからお借りしました。
考え方は簡単で、画像の1ピクセルごとの
情報を読み取ってその値を反転して再度セットしているだけ。
これで、基本的な画像処理の勉強ができるようになった。
#1 実行時間に10sか。。。
#2 livedoorブログって画像のサムネイルないのか。。。?
いや、慣れている人はさっと作るんだろうけどさ。。。
気分転換に画像処理の勉強でもしてみようかなぁと
思いとりあえず記事を書いてみている。
まず、Perlで画像を扱う場合Imagerが定番?らしい。
というわけで、まずは練習がてらに
コードを書いてImagerの使い方をさっと学んでみる。
use strict;
use warnings;
use Imager;
use Image::Size;
my $img = Imager->new;
$img->read(file => 'test.png') or die $img->errstr;
my ($max_width, $max_heigth) = imgsize('test.png');
for (my $x = 0; $x < $max_width; $x++) {
for (my $y = 0; $y < $max_heigth; $y++) {
my $before_color = $img->getpixel(x => $x, y => $y);
my ($red, $green, $blue, $alpha) = $before_color->rgba();
my $after_color = Imager::Color->new(
$red ^ 0xFF, $green ^ 0xFF , $blue ^ 0xFF);
$img->setpixel(x => $x, y => $y, color => $after_color);
}
}
$img->write( file => 'after_test.png') or die $img->errstr;
■実行前
■実行後
てな感じになる。
# 絵の素材はこちらからお借りしました。
考え方は簡単で、画像の1ピクセルごとの
情報を読み取ってその値を反転して再度セットしているだけ。
これで、基本的な画像処理の勉強ができるようになった。
#1 実行時間に10sか。。。
#2 livedoorブログって画像のサムネイルないのか。。。?