现在的位置: 首页 > 综合 > 正文

bitmap 压缩图片

2014年02月01日 ⁄ 综合 ⁄ 共 1053字 ⁄ 字号 评论关闭
  1. BitmapFactory.Options opt = new BitmapFactory.Options();   
  2.                //这个isjustdecodebounds很重要      
  3.                opt.inJustDecodeBounds = true;  
  4.                bm = BitmapFactory.decodeFile(absolutePath, opt);  
  5.   
  6.                //获取到这个图片的原始宽度和高度  
  7. int picWidth  = opt.outWidth;  
  8. int picHeight = opt.outHeight;  
  9.   
  10.                //获取屏的宽度和高度  
  11. WindowManager windowManager = getWindowManager();  
  12. Display display = windowManager.getDefaultDisplay();  
  13. int screenWidth = display.getWidth();  
  14. int screenHeight = display.getHeight();  
  15.   
  16.                 //isSampleSize是表示对图片的缩放程度,比如值为2图片的宽度和高度都变为以前的1/2  
  17. opt.inSampleSize = 1;  
  18.                 //根据屏的大小和图片大小计算出缩放比例  
  19. if(picWidth > picHeight){  
  20. if(picWidth > screenWidth)  
  21. opt.inSampleSize = picWidth/screenWidth;  
  22. }  
  23. else{  
  24. if(picHeight > screenHeight)  
  25.   
  26. opt.inSampleSize = picHeight/screenHeight;  
  27. }  
  28.   
  29.                 //这次再真正地生成一个有像素的,经过缩放了的bitmap  
  30. opt.inJustDecodeBounds = false;  
  31. bm = BitmapFactory.decodeFile(absolutePath, opt);  
  32.   
  33.                 //用imageview显示出bitmap  
  34. iv.setImageBitmap(bm);  

抱歉!评论已关闭.