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関数でコマンドを実行するようにすればよいです。