java中的图片按比例缩放功能

发布时间:2019-11-17 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了java中的图片按比例缩放功能脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

java中的图片按比例缩放功能

1. 按固定长进行缩放

     /*      * 图片缩放,w,h为缩放的目标宽度和高度      * src为文件目录,dest为缩放后保存目录      */     public static void zoomImage(String src,String dest,int w,int h) throws Exception {                  double wr=@H_304_37@0,hr=0;         File srCFile = new File(src);         File destFile = new File(dest);          BufferedImage bufimg = ImageiO.read(srcFile); //读取图片         Image ITemp = bufImg.getScaledInstance(w, h, bufImg.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();         }     } 

2. 按固定文件大小进行缩放

     /*    * 图片按比率缩放    * size为文件大小    */   public static void zoomImage(String src,String dest,Integer size) throws Exception {       File srcFile = new File(src);       File destFile = new File(dest);              long fileSize = srcFile.length();       if(fileSize < size * 1024)   //文件大于size k时,才进行缩放           return;              Double rate = (size * 1024 * 0.5) / fileSize; // 获取长宽缩放比例              BufferedImage bufImg = ImageIO.read(srcFile);       Image Itemp = bufImg.getScaledInstance(bufImg.getWidth(), bufImg.getHeight(), bufImg.SCALE_SMOOTH);                  AffineTransformOp ato = new AffineTransformOp(AffineTransform.getScaleInstance(rate, rate), null);       Itemp = ato.filter(bufImg, null);       try {           ImageIO.write((BufferedImage) Itemp,dest.substring(dest.lastIndexOf(".")+1), destFile);       } catch (Exception ex) {           ex.printStackTrace();       }

脚本宝典总结

以上是脚本宝典为你收集整理的java中的图片按比例缩放功能全部内容,希望文章能够帮你解决java中的图片按比例缩放功能所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。