安卓基础之缩放加载本地大图

1.获取手机屏幕分辨率

 WindowManager wm= (WindowManager)getSystemService(WINDOW_SERVICE);
        int height=wm.getDefaultDisplay().getHeight();
        int width=wm.getDefaultDisplay().getWidth();
        System.out.println(height+"--"+width);

 

2.获取图片分辨率

BitmapFactory.Options options=new BitmapFactory.Options();

//使用injustDecodeBounds=true,使得解码图片返回宽和高,如果直接返回图片而不进行缩放,可能因为图片过大发生oom异常 options.inJustDecodeBounds
=true;
BitmapFactory.decodeFile(****
,options);   //****:本地图片文件的路径 int p_h=options.outHeight; int p_w=options.outWidth; System.out.println(p_h+"--"+p_w);

 

3.计算缩放比例

//按照比例大的缩放,可以保证缩放后宽和高都不超过屏幕
     int
scale=0; int scalex=height/p_h; int scaley=width/p_w; if(scalex>scaley&&scalex>1){ scale=scalex; } if(scaley>scalex&&scaley>1){ scale=scaley; }

 

4.获取缩放后的图片

    options.inSampleSize=scale;
    options.inJustDecodeBounds=false;
    Bitmap bitmap=BitmapFactory.decodeFile(****,options)

 

转载于:https://www.cnblogs.com/adressian/p/10203327.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值