java处理图片-制造缩略图-制作宽高一定的图片

java制作缩略图-自动按比例

使用Thumbnails
maven引入依赖

<!-- 图片缩略图 -->
   <dependency>
    <groupId>net.coobird</groupId>
	<artifactId>thumbnailator</artifactId>
    <version>0.4.8</version>
  </dependency>
/**
     * 制作缩略图
     * @param path 原来的图片路径
     * @param path1   制作的缩略图存放的路径
     */
Thumbnails.of(path).size(32, 32).toFile(path1);

java-制作宽高一定的图片

封装的工具类:

 /**
     * 制作宽高一定的图片
     * @param src 原来的图片地址
     * @param dest  制作的图片存放的地址
     * @param w 要制作的指定宽度
     * @param h 要制作的指定高度
     * @return
     */
private void zoomImage(String src,String dest,int w,int h) throws Exception {

        double wr=0,hr=0;
        File srcFile = new File(src);
        File destFile = new File(dest);

        //读取图片
        BufferedImage bufImg = ImageIO.read(srcFile);
        //设置缩放目标图片模板
        Image Itemp = bufImg.getScaledInstance(w, h, Image.SCALE_SMOOTH);

        //获取缩放比例
        wr=w*1.0/bufImg.getWidth();
        hr=h*1.0 / bufImg.getHeight();

        AffineTransformOp ato = new AffineTransformOp(AffineTransform.getScaleInstance(wr, hr), null);
        Itemp = ato.filter(bufImg, null);
        try {
            //写入缩减后的图片
            ImageIO.write((BufferedImage) Itemp,dest.substring(dest.lastIndexOf(".")+1), destFile);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
上一篇:Java常用类:System类


下一篇:实验报告1