应项目需求要处理图片缩放等,普通的缩放效果太差,JMagick处理图片效果很好
一、建立并切换到安装文件存放目录
- mkdir /home/install
- cd /home/install
二、下载JMagick和ImageMagick
- wget http://downloads.jmagick.org/6.4.0/jmagick-6.4.0-src.tar.gz
- wget http://downloads.jmagick.org/6.4.0/ImageMagick-6.4.0-0.tar.gz
三、安装依赖包
- yum install libpng
- yum install libpng-devel
- yum install libjpeg
- yum install libjpeg-devel
- yum install gd
- yum install gd-devel
- yum install libtiff
- yum install libtiff-devel
四、安装ImageMagick
- tar xzvf ImageMagick-6.4.0-0.tar.gz
- cd ImageMagick-6.4.0
- ./configure --prefix=/usr/local/ImageMagick.6.4 --enable-shared --without-perl
- make
- make install
五、安装并配置JMagick
- tar xzvf jmagick-6.4.0-src.tar.gz
- cd 6.4.0
- ./configure --with-java-home=此处为JAVA_HOME目录 --with-magick-home=/usr/local/ImageMagick.6.4
- make
- make install
- # 拷贝libJMagick.so到JRE
- cp /home/install/6.4.0/lib/libJMagick-6.4.0.so 此处为JAVA_HOME目录/jre/lib/amd64/libJMagick.so
- # 拷贝magick-6.4.0.jar到install目录备份
- cp /home/install/6.4.0/lib/jmagick-6.4.0.jar /home/install/magick-6.4.0.jar
六、清理现场
- rm -rf /home/install/6.4.0
- rm -rf /home/install/ImageMagick-6.4.0
我在安装的时候发生过一些问题,搜到了解决办法
Exceptions/Errors:
java.lang.NoClassDefFoundError: Could not initialize class magick.ImageInfo
java.lang.UnsatisfiedLinkError: no JMagick in java.library.path
Environment:
ImageMagick - 6.0.7.1-17
JMagick - (6.0.4-0)
CentOS 4.5 (Linux 2.6.9-023stab044.11-enterprise #1 SMP Sun Sep 30 12:15:39 MSD 2007 i686 i686 i386 GNU/Linux)
Tomcat 6.0.14
Java(TM) SE Runtime Environment (build 1.6.0_02-b05)
I'm trying to utilize JMagick in a web application and I've spent a lot of time troubleshooting this issue with JMagick. I've tried just about everything suggested in the FAQ and archived mailing list.
I have ImageMagick installed and I complied all the necessary JNI interfaces for JMagick (6.0.4-0) successfully but for some reason this problem keeps occuring. Seems like no matter
what I do I can't get the webapp to see the compiled ImageMagick interfaces/libraries located in /usr/local/lib.
Things I've tried so far:
1) copied jmagick.jar to JAVA_HOME/jre/lib/ext
2) copied jmagick.jar to tomcat common lib & webapp/web-inf/lib
3) set LD_LIBRARY_PATH=/usr/local/lib in tomcat startup script
4) tried setting -Djava.library.path=/usr/local/lib -Djmagick.systemclassloader=no in tomcat startup script
5) tried setting 4) properties via System.setProperty within my web app's Initialization class
I'm kinda out of things to try at this point and according to JMagick's setup instructions & FAQ everything should be working with everything I've tried. So if anyone has any suggestions as to where my problem may lye I'd really appreciate some help.