图片缩放

来源:互联网 发布:lol for mac 编辑:程序博客网 时间:2024/06/16 12:06
# 缩放加载大图片  #
思路:
[1]获取图片的分辨率 2400 * 3200 
[2]获取手机的分辨率 320 * 480 
[3]计算缩放比  宽 : 7    高 : 6  高正好  
按照大的去缩放 
 实现步骤
  [1]获取手机的分辨率 
   WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
    int    width = wm.getDefaultDisplay().getWidth();
    int   height = wm.getDefaultDisplay().getHeight(); 
  [2]获取图片的分辨率 
       //[2]创建位图工厂的配置参数 
        BitmapFactory.Options opts = new Options();
        //不去真正的解析位图  返回null  但是还能够获取图片的宽和高的信息 
        opts.inJustDecodeBounds = true;
        BitmapFactory.decodeFile("/mnt/sdcard/dog.jpg",opts);
        //[3]获取图片的宽和高 
        int imgWidth = opts.outWidth;
        int imgHeight = opts.outHeight;
        System.out.println("图片的宽:"+imgWidth+"----"+imgHeight);
   [3]计算缩放比
      int scale = 1; //定义变量 就是我们的缩放比 
        int scaleX = imgWidth/width;
        int scaleY = imgHeight/height; 
        if (scaleX>=scaleY && scaleX>scale) {
            scale = scaleX;
        }
        if (scaleY > scaleX && scaleY >scale) {
            scale = scaleY;
        }
  [4]按照缩放比去加载图片   
 //[5]按照我们计算出来的缩放比进行显示 
        opts.inSampleSize = scale;
        
        //[6]开始真正的解析位图  
        opts.inJustDecodeBounds = false;
        Bitmap bitmap = BitmapFactory.decodeFile("/mnt/sdcard/dog.jpg",opts);
        
        //[7]显示到iv上 
        iv.setImageBitmap(bitmap);  
原创粉丝点击