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();
|
}
|
}
|
|
}
|