iv=(ImageView)findViewById(R.id.imageView1);
BitmapFactory.Optionsopts=new BitmapFactory.Options();
//用于获取宽高,不用用Bitmap接收
BitmapFactory.decodeResource(getResources(),R.drawable.aa, opts);
opts.inJustDecodeBounds=true;//只获取宽、高
//获取图片宽高
intPicW=opts.outWidth;
intPicH=opts.outHeight;
//获取屏幕的宽高,
DisplayMetricsmetrics=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
intscreenW=metrics.widthPixels;
intscreenH=metrics.heightPixels;
//获取图片跟屏幕的比例
intblw=PicW/screenW;
intblh=PicH/screenH;
//如果比例小于1则说明图片的宽/高小于屏幕宽 :按照原照片宽高显示
intbl=0;
if(blw<=1&&blh<=1){
bl=1;
}else{
//如果比例大于1,则说明图片尺寸大于屏幕尺寸,则需要缩放,注:取比例值较大的赋给最终缩放比例
bl=blw>blh?blw:blh;
}
//设置比例 opts.inSampleSize=bl; 此方法将把图片缩放至1/bl的尺寸
opts.inSampleSize=bl;
//将inJustDecodeBounds只获取图片宽高的属性设置为false。真正加载图片
opts.inJustDecodeBounds=false;
Bitmapbitmap=BitmapFactory.decodeResource(getResources(), R.drawable.aa, opts);
iv.setImageBitmap(bitmap);