jmagick安装步骤
安装说明:?
==========================================================?
ImageMagick 是一个功能很强的图片处理程序。可应用在多种操作系统平台上。?
安装ImageMagick和JMagick?
如果安装了老版本ImageMagick的rpm包,请先删除(一般centos会自动安装imagemagick),删除命令:rpm -e ImageMagick,如果删除不了,提示说需要ImageMagick-devel包。下载安装后然后卸载就可以了。地 址:http://centos.ustc.edu.com.?
安装环境要求:?
服务器如果没有安装Jpeg v6b、libPng、FreeType 的要在安装imagemagick之前先装好,否则imagemagick没法读取jpeg和png图片,字体文件也读不了。下面是安装 Imagemagick时./configure的结果,可以查看imagickMagick是否支持哪些格式的图片以及一些环境配置:?
例如,你应该检查是否已经安装如下rpm包:?
rpm qa |grep libpng?
rpm qa |grep libpng-devel?
rpm qa |grep libjpeg?
rpm qa |grep gd-devel?
如果你希望支持tiff格式,还应该检查?
rpm qa |grep libtiff?
如果没有安装,那么在Linux安装光盘找到相应rpm包或者从网上下载,安装上,?
再次configure直到确认需要的图形格式全部支持为止,然后编译安装:?
*安装jpeg包:?
tar -zvxf jpegsrc.v6b.tar.gz?
cd jpeg-6b/?
./configure --enable-shared --enable-static ; make ; make install?
*安装png包:先在http://sourceforge.net/projects/libpng/上下载最新的libpng包?
tar -xzvf libpng-1.2.12.tar.gz?
cd libpng-1.2.12?
cp scripts/makefile.std makefile?
make?
make install?
*编译并安装tiff格式支持文件,?
tar zvxf tiff-3.8.2.tar.gz?
./configure?
make?
make install?
--------------------?
在http://www.yeo.id.au/jmagick/上下载最新的ImageMagick和JMagick包?
安装ImageMagick包?
tar xzvf ImageMagick-6.5.3-2.tar.gz?
./configure --prefix=/opt/ImageMagick --enable-share --enable-static?
make?
make install?
或者:./configure --prefix=/opt/ImageMagick --enable-lzw --with-modules && make && make install?
使用convert 看看是否可以转换文件?
测试:convert -geometry 600x200 1503.jpg 1503_small.jpg?
如果这一步都没有测试成功,那么说明你的配置还有问题,如果错误提示信息是:convert: no decode delegate for this image format,那么你需要使用convert -list format命令查找一下convert支持的文件类型,如果不包含jpeg格式,那么说明你上面的jpeg包没有安装好。建议从 www.centos.ustc.edu.com下载jepg、jpeg-devel的rpm安装上,然后再从新安装上面的Jpeg包和 imagemagick.?
安装JMagick包?
首先确保你的JDK和ImageMagick的环境变量已经配置到了/etc/profile文件中。?
配置项:?
JAVA_HOME=/usr/java/jdk5?
IMAGEMAGICK_HOME=/opt/ImageMagick?
接下来就可以安装了?
tar xzvf jmagick-6.4.0.tar.gz?
./configure --prefix=/opt/JMagick --with-magick-home=$IMAGEMAGICK_HOME?
--enable-share --enable-static --with-java-home=$JAVA_HOME?
make all?
make install?
测试JMagick,在test包里有Test.java 环境变量生效后再测试?
# make test?
# make javadoc?
========================================================?
这样就安装完成,接下来的还要配置环境变量。?
vi /etc/profile?
主要是加入JMagick的相关配置:?
JAVA_HOME=/usr/java/jdk1.5.0_19?
IMAGEMAGICK_HOME=/opt/ImageMagick?
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:/opt/JMagick/lib?
PATH=$JAVA_HOME/bin:/opt/ImageMagick/bin:/opt/ImageMagick/bin:$PATH?
LD_LIBRARY_PATH=:/opt/JMagick/lib:/opt/ImageMagick/lib?
DYLD_LIBRARY_PATH=:/opt/JMagick/lib:/opt/ImageMagick/lib?
export PATH CLASSPATH JAVA_HOME IMAGEMAGICK_HOME LD_LIBRARY_PATH DYLD_LIBRARY_PATH?
执行命令:?
ldconfig?
把JMagick包中的jmagick.jar拷贝到JAVA JDK的jre---lib---ext目录下?
把JMagick包中的***.so拷贝到/lib和/bin目录。?
然后注销当前用户重新登录,便于环境变量修改生效,执行:convert logo: logo.gif?
看是否正确生成一个logo.gif的图片文件。?
=======================================================?
如果要在Web Application Server(Resin,Tomcat),需要再运行时加入参数: -Djmagick.systemclassloader=no?
或者在程序中写入:System.setProperty("jmagick.systemclassloader", "no");?
命令行使用方法:?
convert -resize 100x200 22.jpg(图片路径) 11.jpg(缩放后存放路径) 图片按比例缩放?
convert -resize 100x200\! 22.jpg(图片路径) 11.jpg(缩放后存放路径) 强制按给定的宽高缩放?
convert -crop 100(长)x200(高)+10(x坐标)+10(y坐标) 22.jpg(图片路径) 11.jpg(缩放后存放路径) 裁剪图片?
在JAVA程序中的实例代码:?
import magick.ImageInfo;?
import magick.MagickException;?
import magick.MagickImage;?
public class Test {?
/**?
* @param args?
*/?
public static void main(String[] args) {?
try {?
System.setProperty("jmagick.systemclassloader","no");?
ImageInfo info = new ImageInfo("F:/Picture/tmp/140502170-0.jpg");?
MagickImage image = new MagickImage(info);?
MagickImage scaleImg = image.scaleImage(180, 180);?
scaleImg.setFileName("F:/Picture/tmp/222.jpg");?
scaleImg.writeImage(info);?
} catch (MagickException e) {?
e.printStackTrace();?
}?
}?
}