Thumbnails java图片压缩


public class TestThumb {
    
    /**简单缩小*/
    @Test  
    public void test01(){
        try {
            Thumbnails.of(new File("F:/web/test/ImageTrans/Koala.jpg"))
                .size(160,160)
                .toFile(new File("F:/web/test/ImageTrans/test01.jpg"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /**压缩比例*/
    @Test  
    public void test02(){
        try {
            Thumbnails.of(new File("F:/web/test/ImageTrans/Koala.jpg"))
                .scale(0.3f)
                .toFile(new File("F:/web/test/ImageTrans/test02.jpg"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /**输出格式控制*/
    @Test  
    public void test03(){
        try {
            BufferedImage bi=Thumbnails.of(new File("F:/web/test/ImageTrans/Koala.jpg"))
                .size(160,160)
                .asBufferedImage();
            ImageIO.write(bi, "bmp",new FileOutputStream("F:/web/test/ImageTrans/test03.bmp"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**图片切割*/
    @Test  
    public void test04(){
        try {
            BufferedImage bi=Thumbnails.of(new File("F:/web/test/ImageTrans/Koala.jpg"))
                .scale(0.5f)
                .asBufferedImage();
            Thumbnails.of(bi)
                .sourceRegion(Positions.CENTER, 300,300)
                .scale(0.1f)
                .toFile(new File("F:/web/test/ImageTrans/test04.jpg"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /**图片宽度*/
    @Test  
    public void test05(){
        try {
            /*BufferedImage bi=Thumbnails.of(new FileInputStream("F:/web/test/ImageTrans/Koala.jpg"))
                .scale(0.1f)
                .asBufferedImage();*/
            BufferedImage bi=ImageIO.read(new FileInputStream("F:/web/test/ImageTrans/Koala.jpg"));
            System.out.println(bi.getHeight()+","+bi.getWidth());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /**设定宽度等比例压缩*/
    @Test
    public void test06(){
        try {
            int width=400;
            BufferedImage bi=ImageIO.read(new FileInputStream("F:/web/test/ImageTrans/Koala.jpg"));
            Thumbnails.of(bi)
                .scale((double)width/(double)bi.getWidth())
                .toFile(new File("F:/web/test/ImageTrans/test06.jpg"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


你可能感兴趣的:(Thumbnails java图片压缩)