java实现图片压缩

/*** 
      * 功能 :按照正方形缩放图片,精度较高
      * 处理150X150或者960X960
      * @param srcImgPath 原图片路径 
      * @param distImgPath  转换大小后图片路径 
      * @param width   转换后图片宽度 
      * @param height  转换后图片高度 
      */  
     public  static  void  resizeImage(String srcImgPath, String distImgPath, int  width,  int  height)  throws  IOException {  
         String subfix =  "jpg" ;
         subfix = srcImgPath.substring(srcImgPath.lastIndexOf( "." )+ 1 ,srcImgPath.length());
         
         File srcFile =  new  File(srcImgPath);  
         Image srcImg = ImageIO.read(srcFile);  
         
         BufferedImage buffImg =  null
         if (subfix.equals( "png" )){
             buffImg =  new  BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
         } else {
             buffImg =  new  BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
         }
     
         Graphics2D graphics = buffImg.createGraphics();
         graphics.setBackground(Color.WHITE);
         graphics.setColor(Color.WHITE);
         graphics.fillRect( 0 0 , width, height);
         graphics.drawImage(srcImg.getScaledInstance(width, height, Image.SCALE_SMOOTH),  0 0 null );  
 
         ImageIO.write(buffImg, subfix,  new  File(distImgPath));  
     }  
 
public  static  void  main(String[] args) {
         try  {  
             resizeImage( "C:\\spider\\dashewan.jpg" , "c:\\spider\\3.jpg" , 150 , 150 ); 
             System.out.println( "处理好了" );
 
         catch  (IOException e) {  
             System.out.println( "图片转换出现异常!" );  
         }  
 
     }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值