WindowsユーザーのためのImage-Magick超入門 [3/24/2001初版、3/25/2001第2版]
ImageMagickは元々X Window Systemでイメージを表示したり、インタラクティブな操作をしたりするパッケージである。イメージのサイズの変更、回転、鮮鋭化、減色、特殊効果の付与、画像フォーマットの変更等が可能になる。ImageMagickとPerlMagickはShawn P. WallaceのPerl/GNUソフトウェアによるWebグラフィックスプログラミングに紹介されている(書籍の項も参照)が、Windowsで使用するためにはそれぞれ別途に入手しインストールしなければならない。PerlMagickのほうはmakefile.ntを実行してmakefileを作り、nmakeでコンパイルして、インストールする必要がある。実はPerlMagickをインタフェースとしてImageMagickを使うだけならWindowsでインストールするのは超簡単だ。ActivePerlからppmを使えばよいのだ。
  1. PCをインターネットに接続した状態にする。
  2. ppmを起動する。
  3. search Magickでモジュールを検索してみよう。実は最初、PerlMagickを検索して引っ掛からないのであきらめていたのだ(^^;)
  4. Image-Magickというモジュールで登録されている。display等のImageMagickのユーティリティはインストールされない。Perlから制御するために必要なモジュールだけだ。
  5. install Image-Magickでインストールする。
次のような具合だ。
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

D:\>ppm
PPM interactive shell (1.1.1) - type 'help' for available commands.
PPM> search Magick
Packages available from http://www.activestate.com/Packages/:
Image-Magick [4.29] An objected-oriented Perl interface to ImageMagick.
PPM> install Image-Magick
Install package 'Image-Magick?' (y/N): y
Retrieving package 'Image-Magick'...
Installing C:\APi520\html\lib\site\Image\Magick.html
Writing C:\APi520\site\lib\auto\Image\Magick\.packlist
PPM> quit
Quit!

D:\>
C:\APi520\site\lib\auto\Image\Magick\.packlistを見ると、
C:\APi520\bin\FPXLIB.DLL
C:\APi520\bin\IMagick.dll
C:\APi520\bin\JPEGLIB.DLL
C:\APi520\bin\X11.dll
C:\APi520\bin\Xext.dll
C:\APi520\html\lib\site\Image\Magick.html
C:\APi520\site\lib\Image\Magick.pm
C:\APi520\site\lib\auto\Image\Magick\Magick.bs
C:\APi520\site\lib\auto\Image\Magick\Magick.dll
C:\APi520\site\lib\auto\Image\Magick\Magick.exp
C:\APi520\site\lib\auto\Image\Magick\Magick.lib
C:\APi520\site\lib\auto\Image\Magick\autosplit.ix
のようにインストールされている。

さて、使ってみよう。
use Image::Magick;

$i = Image::Magick->new;
$i->Read($ARGV[0]);
$i->Magnify();      # 画像を縦横2倍に拡大
$i->Wave('40x200'); # 波形効果を作る特殊フィルタ
$i->Write($ARGV[1]);
スクリプト名をmagnify_wave.plとすると、

perl magnify_wave.pl ts_network2.png ts_network7.png

で、結果の画像の変化は
ts_network2.png ===> ts_network7.png
となる。
TS Network ☆ミ >> (C)jscripter