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

人生处万类,知识最为贤。这篇文章主要讲述安卓基础之缩放加载本地大图相关的知识,希望能为你提供帮助。
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)

 






    推荐阅读