ImageMagickという画像処理のツールと、そのPerlでのインターフェースの PerlMagick(Image::Magick というモジュール)を使ってみました。
機能はここにあげたものより沢山ありますが、画像処理とかに詳しくないので まだ、すべては使いこなせていません。
実行は、Win95でコンパイル済みのバイナリ
を使ってやってみました。
ツールは、
ImageMagick
の ftp からとってきた
ImageMagick-win95.zip
をPerlは
ActivePerl
でImage-Magickを
インストールしてます。
縦、横を半分に小さく縮める [処理画像例] [サンプルソース]
[perl] $i->Minify();
縦、横を2倍に大きく広げる [処理画像例] [サンプルソース]
[perl] $i->Magnify();
縦、横をつたえて望みの大きさにする [処理画像例] [サンプルソース]
[perl] $i2->Scale(width=>400, height=>400); [tool] convert -size 256x192 original.jpg out.jpg
※convert での指定は、 "-size" で、「横幅ピクセル」x「縦幅ピクセル」 で指定。
縦、横をつたえて望みの大きさにする [処理画像例] [サンプルソース]
[perl] $i2->Sample(width=>400, height=>400); [tool] convert -sample 256x192 original.jpg out.jpg
※convert での指定は、 「横幅ピクセル」x「縦幅ピクセル」 で指定。
縦、横をつたえて望みの大きさにする [処理画像例] [サンプルソース]
[perl] $i2->Zoom(width=>100, height=>100, blur=>0.8, filter=>Point);
※filter は {Point, Box, Triangle, Hermite, Hanning, Hamming, Blackman,
Gaussian, Quadratic, Cubic, Catrom, Mitchell, Lanczos, Bessel,
Sinc} から指定。
blur > 1 for blurry or < 1 for sharp
[perl] $i2->Rotate(degrees=>45,crop=>True,sharpen=>True); [tool] convert -rotate 45 original.jpg out.jpg
※右方向への角度を指定する。
[perl] $i2->Crop(width=>100, height=>100, x=>95, y=>80); [tool] convert -crop 20x50+80+80 original.jpg out.jpg
※convert での指定は、「横幅ピクセル」x「縦幅ピクセル」+「横開始ピクセル」+「縦開始ピクセル」
[perl] $i2->Chop(geometry=>'100x100+75+75');
|
--> |
|
「横開始ピクセル(x)」から「横幅ピクセル(width)」および、
「縦開始ピクセル(y)」から「縦幅ピクセル(height)」
までを切り取る。 geometry の指定の時は、 {width}x{height}+{x}+{y} (width=>100, height=>50, x=>95, y=>85)と(geometry=>100x50+95+85)は同じ意味。 |
[perl] $i2->Flip(); [tool] convert -flip original.jpg out.jpg
[perl] $i2->Flop(); [tool] convert -flop original.jpg out.jpg
ピクセルをずらし、あふれた絵はさかさ側に戻す。 [処理画像例] [サンプルソース]
[perl] $i2->Roll(x=>25, y=>15); [tool] convert -roll -50+0 original.jpg out.jpg
ピクセル数を指定する。
convert での指定は、 {+-}横ピクセル{+-}縦ピクセル で
間にスペースを入れない。
[perl] $i2->Swirl(degrees=>120); [tool] convert -swirl 120 original.jpg out.jpg
※指定するのは角度でしょうか。
まんなかに引き寄せる。(または、その逆) [処理画像例] [サンプルソース]
[perl] $i2->Swirl(degrees=>120); [tool] convert -implode -10 original.jpg out.jpg
※指定するのは、パーセント。 引き寄せる(0 - 99.9%) 、その逆 (-99.9 - 0%)
[perl] $i2->Shear('15x45');
[tool] convert -implode -10 original.jpg out.jpg
※指定するのは、パーセント。 引き寄せる(0 - 99.9%) 、その逆 (-99.9 - 0%)