| package com.dy.pipIrrWebFile.util; | 
|   | 
| import net.coobird.thumbnailator.Thumbnails; | 
|   | 
| import javax.imageio.ImageIO; | 
|   | 
| import java.awt.image.BufferedImage; | 
| import java.io.ByteArrayInputStream; | 
| import java.io.ByteArrayOutputStream; | 
| import java.io.File; | 
| import java.io.InputStream; | 
|   | 
| /** | 
|  * 生成图片的缩略图 | 
|  */ | 
| public class ZipImg { | 
|     public static InputStream zipToJpg(File file, int xSize, int ySize) throws Exception{ | 
|         return zip(file, "jpg", xSize, ySize) ; | 
|     } | 
|   | 
|     public static InputStream zipToJpg(BufferedImage buf, int xSize, int ySize) throws Exception{ | 
|         return zip(buf, "jpg", xSize, ySize) ; | 
|     } | 
|   | 
|     public static InputStream zipToPng(File file, int xSize, int ySize) throws Exception{ | 
|         return zip(file, "png", xSize, ySize) ; | 
|     } | 
|   | 
|     public static InputStream zipToPng(BufferedImage buf, int xSize, int ySize) throws Exception{ | 
|         return zip(buf, "png", xSize, ySize) ; | 
|     } | 
|   | 
|     public static void zipToFile(File file, File toFile, int xSize, int ySize) throws Exception{ | 
|         Thumbnails.of(file).size(xSize, ySize).outputQuality(0.5f).toFile(toFile);//0f-1f 质量越高 | 
|     } | 
|   | 
|   | 
|     private static InputStream zip(File file, String type, int xSize, int ySize) throws Exception{ | 
|         BufferedImage bi = Thumbnails.of(file).size(xSize, ySize).outputQuality(1f).asBufferedImage(); | 
|         ByteArrayOutputStream os = new ByteArrayOutputStream(); | 
|         ImageIO.write(bi, type, os); | 
|         InputStream in = new ByteArrayInputStream(os.toByteArray()); | 
|         bi = null ; | 
|         os = null ; | 
|         return in ; | 
|     } | 
|   | 
|     private static InputStream zip(BufferedImage buf, String type, int xSize, int ySize) throws Exception{ | 
|         BufferedImage bi = Thumbnails.of(buf).size(xSize, ySize).outputQuality(1f).asBufferedImage(); | 
|         ByteArrayOutputStream os = new ByteArrayOutputStream(); | 
|         ImageIO.write(bi, type, os); | 
|         InputStream in = new ByteArrayInputStream(os.toByteArray()); | 
|         bi = null ; | 
|         os = null ; | 
|         return in ; | 
|     } | 
|      | 
|     public static void main(String[] args){ | 
|         File f = new File("D:/test.jpg") ; | 
|         String name = f.getName() ; | 
|         String path = f.getPath() ; | 
|         System.out.println(name); | 
|         System.out.println(path); | 
|          | 
|         int index = path.lastIndexOf(".") ; | 
|         String s1 = path.substring(0, index) ; | 
|         String s2 = path.substring(index) ; | 
|         System.out.println(s1); | 
|         System.out.println(s2); | 
|          | 
|         String newFilePath = s1 + "_" + s2 ; | 
|         try { | 
|             InputStream input = zipToJpg(f, 400, 400) ; | 
|             new FileUtil().saveFile(newFilePath, input) ; | 
|         } catch (Exception e) { | 
|             // TODO Auto-generated catch block | 
|             e.printStackTrace(); | 
|         } | 
|     } | 
|   | 
| } |