java应用ImageMagick处理比较大的图片 (一)

2014-11-24 07:45:48 · 作者: · 浏览: 4

命令方式
jar包地址 http://downloads.jmagick.org/6.3.9/
我在window下使用的是 jmagick-win-6.3.9-Q8.zip 和 ImageMagick-6.3.9-0-Q8-windows-dll.exe
linux下 未测试
doc地址 http://downloads.jmagick.org/jmagick-doc/
windows
一 . 安装 ImageMagick-6.3.9-0-Q8-windows-dll.exe
二 . 命令方式
非命令模式的做法,在网上转载的.
jar包地址 http://downloads.jmagick.org/6.3.9/
我在window下使用的是 jmagick-win-6.3.9-Q8.zip 和 ImageMagick-6.3.9-0-Q8-windows-dll.exe
linux下使用的是 JMagick-6.2.6-0.tar.gz 和 ImageMagick-x86_64-pc-linux-gnu.tar.gz
doc地址 http://downloads.jmagick.org/jmagick-doc/
windows
一 . 安装 ImageMagick-6.3.9-0-Q8-windows-dll.exe
二 . 将 安装目录下 “C:/Program Files/ImageMagick-6.3.9-Q8/ ”(按自己所安装的目录找) 下的所有dll文件 copy 到系统盘下的 “C:/WINDOWS/system32/”文件夹里
三 . 配置环境变量
再环境变量path里添加新的值 “C:/Program Files/ImageMagick-6.3.9-Q8”
四 . 解压jmagick-win-6.3.9-Q8.zip
将 jmagick.dll 复制到系统盘下的 “C:/WINDOWS/system32/”文件夹里 和 复制到jdk的bin(例“E:/Java/jdk1.5.0_10/bin”)文件里各一份
将 jmagick.jar 复制到Tomcat下的lib文件夹里 和 所使用项目的WEB-INF下lib文件里 各一份
linux 得自己去网上找资料

非命令模式

1 package noure.Test.DrawPic;
2
3 import java.awt.Dimension;
4 import java.awt.Rectangle;
5 import java.text.SimpleDateFormat;
6 import java.util.Date;
7
8 import magick.CompositeOperator;
9 import magick.CompressionType;
10 import magick.DrawInfo;
11 import magick.ImageInfo;
12 import magick.MagickException;
13 import magick.MagickImage;
14 import magick.PixelPacket;
15 import magick.PreviewType;
16 /*
17 jar包地址 http://downloads.jmagick.org/6.3.9/
18 我在window下使用的是 jmagick-win-6.3.9-Q8.zip 和 ImageMagick-6.3.9-0-Q8-windows-dll.exe

19 linux下使用的是 JMagick-6.2.6-0.tar.gz 和 ImageMagick-x86_64-pc-linux-gnu.tar.gz
20 doc地址 http://downloads.jmagick.org/jmagick-doc/
21 windows
22 一 . 安装 ImageMagick-6.3.9-0-Q8-windows-dll.exe
23 二 . 将 安装目录下 “C:/Program Files/ImageMagick-6.3.9-Q8/ ”(按自己所安装的目录找) 下的所有dll文件 copy 到系统盘下的 “C:/WINDOWS/system32/”文件夹里
24 三 . 配置环境变量
25 再环境变量path里添加新的值 “C:/Program Files/ImageMagick-6.3.9-Q8”
26 四 . 解压jmagick-win-6.3.9-Q8.zip
27 将 jmagick.dll 复制到系统盘下的 “C:/WINDOWS/system32/”文件夹里 和 复制到jdk的bin(例“E:/Java/jdk1.5.0_10/bin”)文件里各一份
28 将 jmagick.jar 复制到Tomcat下的lib文件夹里 和 所使用项目的WEB-INF下lib文件里 各一份
29 linux 得自己去网上找资料
30 */
31 public class JmagickHelps {
32
33
34 static{
35 //不能漏掉这个,不然jmagick.jar的路径找不到
36 System.setProperty("jmagick.systemclassloader","no");
37 }
38
39 /**
40 * 压缩图片
41 * @param filePath 源文件路径
42 * @param toPath 缩略图路径
43 */
44 public static void createThumbnail(String filePath, String toPath) throws MagickException{
45 ImageInfo info = null;
46 MagickImage image = null;
47 Dimension imageDim = null;
48 MagickImage scaled = null;
49 try{
50 info = new ImageInfo(filePath);
51 image = new MagickImage(info);
52 imageDim = image.getDimension();
53 int wideth = imageDim.width;
54 int height = imageDim.height;
55 if (wideth > height) {
56 height = 660 * height / wideth;
57 wideth = 660;
58 }
59 scaled = image.scaleImage(wideth, height);//小图片文件的大小.
60