[Java]代码
package com.xbl.util;
02
03 import magick.CompressionType;
04 import magick.ImageInfo;
05 import magick.MagickException;
06 import magick.MagickImage;
07
08 import org.junit.Test;
09
10 /**
11 * <p>[MagickImageUtil] 描述:简化Jmagick对图片操作的工具类</p>
12 * @作者 xbl
13 * @时间 2011年2月15日 14:13:15
14 */
15 public class MagickImageUtil {
16
17
18 /**
19 * <p>描述:压缩图片质量不改变图片大小</P>
20 * @param imagePath 图片的路径
21 * @param quality 图片的压缩比例
22 * @param newImagePath 新图片的路径
23 * @throws MagickException
24 */
25 public static void compression(String imagePath,int quality,String newImagePath) throws MagickException
26 {
27 //创建imageInfo对象
28 ImageInfo imageInfo = new ImageInfo(imagePath);
29 //设置压缩比例
30 imageInfo.setQuality(quality);
31 //读取imageInfo
32 MagickImage image = new MagickImage(imageInfo);
33 //设置新图片的路径
34 image.setFileName(newImagePath);
35 //执行
36 image.writeImage(imageInfo);
37 //销毁
38 image.destroyImages();
39 }
40 /**
41 * <p>描述:将图片转换为tiff格式</P>
42 * @param imagePath 图片的路径
43 * @param newImagePath 新图片的路径
44 * @throws MagickException
45 */
46 public static void converToTIFF(String imagePath,String newImagePath) throws MagickException
47 {
48 //创建imageInfo对象
49 ImageInfo imageInfo = new ImageInfo(imagePath);
50 imageInfo.setMagick("tiff");
51 imageInfo.setCompression(CompressionType.ZipCompression); //设置压缩
52
53 //读取imageInfo
54 MagickImage image = new MagickImage(imageInfo);
55
56 //设置新图片的路径
57 image.setFileName(newImagePath);
58 //执行
59 image.writeImage(imageInfo);
60 //销毁
61 image.destroyImages();
62 }
63
64 @Test
65 public void test()
66 {
67 try {
68 //MagickImageUtil.compression("c:\\1.jpg", 50, "c:\\2.jpg");
69 MagickImageUtil.converToTIFF("c:\\shutterstock_15467920.jpg", "c:\\shutterstock_15467920.tif");
70 } catch (MagickException e) {
71 // TODO Auto-generated catch block
72 e.printStackTrace();
73 }
74 }
75 }