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