Cepheid

▲ Home


ImageMagickのインストール

はじめに

ImageMagickは、TIFF JPEG PNG PDF PhotoCD GIFといった一般的なフォーマットを含む多くの画像フォーマット (89以上の主要なフォーマット) の画像処理、読み込み、書き出しを行う強力なツールやライブラリの集合体です。

ImageMagickの公式サイト - http://www.imagemagick.net/

ImageMagickは画像を動的に作成することが可能でWebアプリケーションに最適です。 画像のリサイズ、回転、シャープ化、減色、特殊効果、シーケンス、異なった画像フォーマットに保存等といった様々な加工が出来ます。

画像処理の操作は、コマンドライン、C C++ Perl Java PHP Python Rubyなどのプログラム言語から利用可能です。

PerlMagickは、ImageMagickを扱うためのオブジェクト指向のPerlインターフェースです。このモジュールはPerlスクリプトから、画像の読み込み、処理、書き出しを行うために使用されます。CGIスクリプトに非常に適しています。

GIFフォーマットのLZWアルゴリズムに関して
米Unisys社が保有しているLZW圧縮法の日本国内での特許は、2004年6月20日に失効しました。7月7日のカナダを最後に全世界で失効したことになります。
ImageMagickのLZW圧縮に関する最新の動きは公式フォーラムのLZW supportを参考にしてください。

Windows版のImageMagickのインストール

以下のテスト環境はWindows2000 SP4、Apache 1.3.31、ActivePerl 5.8.4 build 810です。(注:5.8.4環境です)

2004年8月現在、最新版は6.0.5-3 Stableです。このWindows版をインストールしたいと思います。すでにバイナリが用意されているのでインストール作業はいたって簡単です。

公式サイトのTopページからDownloadをクリックし、各ディストリビューションのダウンロードページへ移動。

ダウンロードページの「Download Select Source and Binaries」とある表からWindows Executableに対応するリンク「6.0.5-3 Stable」をクリックしImageMagick-6.0.5-Q16-windows-dll.exeをダウンロード。

Download Select Source and BinariesからWindows Executableのリンクをクリック

このバイナリには、ImageMagick本体やユーティリティ、リンクライブラリ、ImageMagickのウェブサイトのHTML、ActivePerl v5.8.3 build 809用のPerlMagickなどが付属している。

インストール前に

バージョンアップしたい場合、既存の古いImageMagickをアンインストールしてから新しいバージョンをインストールして下さい。 上書きインストールはしない方がいいようです。

必須ではありませんが、Ghostscriptパッケージをインストールされることが推奨されています。 (バグが少ないバージョン7.05が好ましいようです) これはPostscriptやPDFファイル等のレンダリングに使用するようです。 また「Helvetica」や「Times Roman」の様なAdobe Postscriptフォントの標準セットをサポートするためにも使用される。

このインストールパッケージは、インストールオプションとしてImageMagick Perl extension(PerlMagick)をあらかじめ含んでいます。 このextensionを使用する場合、あらかじめActivePerlをインストールしておかなければなりません。

QuantumDepth=8バージョン(Q8)は業界基準の24/32ビットピクセルを提供します。通常はこのQ8バージョンで十分です。 もう一方のQuantumDepth=16バージョン(Q16)は、48/64ビットピクセルの高画質カラーを提供します。 Q8はQ16に対してメモリ使用量は約半分、CPU消費量は30%程度少ないです。
学術・医学的な目的で使用する場合、高精度のQ16を選択すれば良いでしょう。 (Q8バージョンであるImageMagick-6.0.0-Q8-windows.exeはFTPからダウンロード出来ます)

それではダブルクリックしてインストーラーを立ち上げます。公式サイトのインストールウイザードの説明PerlMagick Windows2000 HowToも参考にして下さい。

Setup画面

Nextを押して先に進めます。

Setup画面

インストール先を選択します。ここでは C:\imagemagick とします。Fullインストールする場合、約20MB程度のディスクスペースを消費します。

Setup画面

オプションのチェック画面です。必要なチェックボックスにチェックを入れます。「Creating a desktop icon」と「Update the executable search path」はデフォルトで選択されています。

「Associate supported file extensions with ImageMagick」はImageMagickのサポートする約50種類もの拡張子を全て関連づけるものです。JPG、GIF、PNG、PDFなどの共通フォーマットも当然含まれます。チェックする前によく考えて下さい。

開発者向けのCとC++のヘッダーやライブラリもインストールできます。

PerlMagickもインストールしたい場合は「Install PerlMagick for ActiveState Perl v5.8.3 build 809」にチェックを入れます。ActivePerl 5.8.3 build 809用の最新版PerlMagickです。これもインストーラが自動的にPerlのsite/libへインストールしてくれます。makeの必要もありません!

一番下はVBscript、Visual Basic、WSH用のImageMagickObject OLE Controlをインストールするかのオプションです。

必要なオプションにチェックを入れ、Nextを押して先に進んでてください。installボタンを押せばインストールを開始されます。以上でImageMagickのインストール作業は完了です。

環境変数の設定

環境変数にImageMagickをインストールしたパスを設定します。設定する環境変数は以下の2つです。

変数名:MAGICK_HOME
新規に MAGICK_HOME を追加します。
変数値にはインストールパス(ここではC:\imagemagick)を入れます。
MAGICK_HOMEのセット
変数名:PATH
既存のシステムパスにも変数値にインストールパスを追加します。(ここではC:\imagemagick)

この設定後、一度再起動した方がいいでしょう。再起動しないと次のCGIテストでエラーがでる場合があります。

テストを行う

PerlMagickのテストを行う

以下のCGIスクリプトを実際に稼働させてみる。

#!/usr/local/bin/perl

use strict;
use Image::Magick;

my $image=Image::Magick->new;
$image->Set(size=>'40x200');
$image->Read("gradient:#ff0000-#0000ff");
$image->Raise('3x3');
$image->Rotate(-90);
$image->Write('temp.png');

print "Content-type: image/png\n\n";
open(IMG,"temp.png");
  binmode(IMG);
  binmode(STDOUT);
  print $_ while (<IMG>);
close(IMG);

unlink "temp.png";
exit;
	

以下の画像がブラウザ上に出力されれば正常です。

PerlMagickのテスト画像

PerlMagickを通してImageMagickの画像処理が施されてることが分かります。

他にも C:\imagemagick\PerlMagick\demo にデモ用のスクリプトが用意されています。試しに以下をコマンドプロンプトに入力すると、

C:\imagemagick\PerlMagick\demo> perl demo.pl

次々に関数が処理され画像が表示されるはずです。そして同ディレクトリにdemo.jpgが出力されていれば問題なしです。

補足 ActivePerl 5.6.x環境にPerlMagickを導入する(PPMで自動インストール)

いままで記述した方法はActivePerl 5.8系でのPerlMagickのインストール方法でした。5.6.x環境に公式サイトのバイナリ付属の5.8用PerlMagickは使えません。また枯れて安定している5.6系を使いたい方も多いかと思います。

PPMを使えば簡単にインストールされます。(公式のものより古い可能性はありますが)

ppm> search Image-Magick
または
ppm> search Magick

と入力しImage-Magickを検索します。5.6.x系のパッケージは登録されている種類が豊富ですので確実に見つかると思います。そして、

ppm> install Image-Magick

と入力すればインストールが始まります。これで完了です。

補足2 ActivePerl 5.6.x環境にPerlMagickを導入する(手動でインストール)

以下のテスト環境はWindows2000 SP4、Apache 1.3.28、ActivePerl 5.6.1 build 635です。

すでに用意されているバイナリを手動でインストールしてPerlMagickを導入する方法もあります。

こちらも本家より少しバージョンは古くなりますが、以下のサイトが参考になります。

PerlMagick Windows 2000 HowTo

このサイト内にある以下のページでPerlMagickのPPMパッケージとImageMagickのバイナリを配布しています。

ImageMagick Windows 2000 binaries

このページの中程にLatest Binaries (currently 5.4.6) とあり、3つファイルへのリンクが並んでいます。2002年05月のファイルで8-bit quantum depthのバイナリです。(16-bit quantum版もあります

PerlMagick PPM (full)
これはPerlモジュールとImageMagickに必要な全てのファイルを含んでいます。PerlMagickのみを必要とするシステムにインストールすることが推奨されています(Webサーバーなど)。PerlMagickのインストールはこれだけでインストールは事足ります。
ImageMagick (full)
これはコマンドラインツール(animate.exe、composite.exeなど)を含むImageMagickのバイナリです。Windowsシステム上でImageMagickを使用したいが、Perlは使いたくないという方はこのパッケージを使って下さい。これは公式サイトのImageMagickと同機能です。(2002年05月当時の)
PerlMagick PPM (module only)
PPMモジュールのみ含んでいます。すでにImageMagickライブラリがインストールされているシステムにPerlMagickを追加したい場合このパッケージを入手して下さい。

インストール方法

以下の二通りあります。

1. PerlMagickのフルパッケージをインストール
  1. PerlMagick PPM (full) をダウンロードし適当なフォルダに解凍。
    > ppm install Image-Magick.ppd
    でインストールする。
  2. 環境変数を設定する。MAGICK_HOMEとPATHに設定するパスは*.DLLのインストール先であるc:\usr\local\site\lib\auto\Image\Magickです。注意して下さい。
    MAGICK_HOME → c:\usr\local\site\lib\auto\Image\Magick
    PATHに追加 → c:\usr\local\site\lib\auto\Image\Magick
    以上で完了です。
2. ImageMagickのフルパッケージをインストール後、PerlMagickをインストール
  1. ImageMagick (full) をダウンロードし適当なフォルダに解凍(例 c:\imagemagick)
  2. 環境変数MAGICK_HOMEとPATHにImageMagickのインストール先のパスを設定(この例なら c:\imagemagick)。
    MAGICK_HOME → c:\imagemagick
    PATHに追加 → c:\imagemagick
    これでImageMagickが使えるようになる。
  3. PerlMagick PPM (module only) をダウンロードし適当なフォルダに解凍。
    > ppm install Image-Magick.ppd
    でインストールする。以上で完了です。

トラブルシューティングは、Debugging PerlMagick Scriptsが参考になります。ブラウザに壊れた画像しか出力されない時などの解決策になるかもしれません。

以上のように色々インストールの方法があります。適当な方法を選択して下さい。




Last modified : 2004-08-22
Copyright © 1998-2006 Somali. All rights reserved.