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 zipToPng(File file, int xSize, int ySize) throws Exception{ 
 | 
        return zip(file, "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 ; 
 | 
    } 
 | 
     
 | 
    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(); 
 | 
        } 
 | 
    } 
 | 
  
 | 
} 
 |