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