ImageMagicのインストール


「ImageMagic」を使って、アップする画像のリサイズを行おうとしたら以下のエラーが出てしまった。。。


convert: no decode delegate for this image format /tmp/hogehoge.jpg



原因は、ImageMagicのデフォルトではjpgをサポートしていないようで、使用する場合は「libjpeg」が必要らしい。


ということで、ImageMagicの正しいインストール方法をメモっておきます。


■libjpegのインストール
cd /usr/local/src
wget ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --enable-shared
make
make install


pngもサポートする場合は、「zlib」と「libpng」のインスコが必要です。

cd /usr/local/src
wget http://www.gzip.org/zlib/zlib-1.2.1.tar.gz
tar zxvf zlib-1.2.1.tar.gz
cd zlib-1.2.1
./configure --enable--shared
make
make install


cd /usr/local/src
wget http://nchc.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.5.tar.gz
tar zxvf libpng-1.2.5.tar.gz
cd libpng-1.2.5
ln -s scripts/makefile.linux Makefile
make
make install



■ImageMagicのインストール

ソース取得場所:http://www.imagemagick.org/script/download.php

cd /usr/local/src
tar xvfz ImageMagick-6.3.0-2.tar.gz
cd ImageMagick-6.3.0
./configure
make
make install



■jpgやpngをサポートしていることを確認。
convert -list format
(見たことない拡張子がいっぱい♪)


■実行
/usr/local/bin/convert -resize 200x200 -quality 80% /tmp/hogehoge.jpg /tmp/hogehoge2.jpg

PHPで使用する場合は、system関数やexec関数でコマンドを実行するようにすればよいです。