ImageMagick图片压缩安装配置全过程(linux)

来源:互联网 发布:淘宝装修海报 编辑:程序博客网 时间:2024/04/29 19:34

一、系统环境

         操作系统:RHEL 4.7

         Tomcat版本:5.5.26

 

二、下载安装文件:

 

http://dl.maptools.org/dl/libtiff/tiff-3.8.2.tar.gz

 

http://www.ijg.org/files/jpegsrc.v8a.tar.gz

 

ftp://ftp.simplesystems.org/pub/png/src/libpng-1.2.43.tar.gz

 

http://downloads.jmagick.org/6.4.0/ImageMagick-6.4.0-0.tar.gz

 

http://downloads.jmagick.org/6.4.0/jmagick-6.4.0-src.tar.gz

 

三、安装配置过程

分别下载上面的软件,然后解压,安装:

(1)安装tiff-3.8.2

tar –zxvf tiff-3.8.2.tar.gz

cd tiff-3.8.2

./configure –prefix=/usr

Make

Make install

Make check

(2)安装jpegsrc.v8a.tar.gz

tar –zxvf jpegsrc.v8a.tar.gz

cd jpegsrc-0.8

./configure –prefix=/usr

Make

Make install

Make check

(3)安装libpng-1.2.43.tar.gz

tar –zxvf libpng-1.2.43.tar.gz

cd libpng-1.2.43

./configure –prefix=/usr

Make

Make install

Make ckeck

(4)安装ImageMagick-6.4.0-0.tar.gz

tar –zxvf ImageMagick-6.4.0-0

./configure –prefix=/usr

Make

Make install

Make check

(5)安装jmagick-6.4.0-src.tar.gz

tar –zxvf jmagick-6.4.0-src.tar.gz

mv  6.4.0 jmagick-6.4.0

cd jmagick-6.4.0

./configure –prefix=/usr

Make

Make clean -----第一遍编译的时候会遇到错误,因此需要清除一下然后再次的makeOK

Make

Make install

(6)配置环境变量

配置当前用户的配置文件.bash_profile,也可配置所有用户/etc/profile,添加

LD_LIBRARY_PATH=/usr/lib

export LD_LIBRARY_PATH

CLASSPATH中添加/usr/lib/jmagick-6.4.0.jar

source /etc/profile

 

对于32位系统:

找到/usr/lib中的libjpeg.so.8libjpeg.so.8.0.1,然后修改libjpeg.solibjpeg.so.62的连接为:

ln  -s -f libjpeg.so.8.0.1 libjpeg.so

ln  -s -f libjpeg.so.8.0.1 libjpeg.so.62

ln -s -f  libjpeg.so.8.0.1  libjpeg.so.8

修改之后ll 查看下是不是生效

修改/etc/ld.so.conf添加/usr/lib

然后ldconfig

 

对于64为系统,需要对/usr/lib64下面的libjpeg.so.8libjpeg.so.8.0.1重复32位系统的操作,这里不再详细讲述。

 

(7)修改tomcatbin/catalina.sh

添加:

JAVA_OPTS="$JAVA_OPTS -Djmagick.systemclassloader=no"

JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/lib"

 

(8)重启tomcat,页面测试功能

 

(9)测试压缩功能

上传图片cc.jpg ,执行

convert -resize 520x460  -stroke '#FFFFFF' -fill red -pointsize 40 -draw 'text 20,40 "www.xxt.cn"' cc.jpg 22.jpg

 

(10)如果在新上传类时出现问题:

org.apache.jasper.JasperException: Could not initialize class magick.ImageInfo

或者

org.apache.jasper.JasperException: Native Library /usr/lib/libJMagick-6.4.0.so already loaded in another classloader

 

工程里面/WEB-INF/lib/jmagick-6.4.0.jar出现重复加载造成,删除问题解决。