缩放图片并加载到内存中

##缩放图片并加载到内存中


解决办法:缩放图片。


   缩放图片加载到内存步骤:


1、得到设备屏幕的分辨率的宽和高:
        2、得到原图的分辨率的宽和高:
        3、通过比较得到一个合适的比例值:
        4、根据比例值缩放原图,得到一张小图:
        5、把小图显示在imageview上:


模版代码:


//     1、得到设备屏幕的分辨率的宽和高:
    //得到系统提供的屏幕管理服务对象
    WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE);
    //得到默认分辨率对象
    Display display = wm.getDefaultDisplay();
    //得到屏幕的宽和高
    int screenWidth = display.getWidth();
    int screeHeigth = display.getHeight();
//        2、得到原图的分辨率的宽和高:
    Options opts = new Options();
    opts.inJustDecodeBounds = true; 
    BitmapFactory.decodeFile(
    Environment.getExternalStorageDirectory()
    +"/1.jpg", opts);
   
    //得到原图的宽和高
    int srcWidth = opts.outWidth;
    int srcHeigth = opts.outHeight;
//        3、通过比较得到一个合适的比例值:
    int scale = 1;
    // width:3000/320=9,3000/480=6
    int sx = srcWidth/screenWidth;
    int sy = srcHeigth/screeHeigth;
   
    if(sx>=sy && sx>=1){
    scale = sx;
    }
    if(sy>=sx && sy>=1){
    scale = sy;
    }
//        4、根据比例值缩放原图,得到一张小图:
    opts.inJustDecodeBounds = false; 
    //按照一定的比例值缩放图片,宽和高都是原图的1/scale
    opts.inSampleSize = scale; 
    Bitmap bm = BitmapFactory.decodeFile(
    Environment.getExternalStorageDirectory()
    +"/1.jpg", opts);
   
//        5、把小图显示在imageview上:
    iv.setImageBitmap(bm);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值