protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
BitmapFactory.Options options = new BitmapFactory.Options();
//允许调用者去查询图片的属性但是不为图片的像素分配内存
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile("sdcard/girl.jpg", options);
//拿到图片宽高
int imageWidth = options.outWidth;
int imageHeight = options.outHeight;
Display display = getWindowManager().getDefaultDisplay();
int screenWidth = display.getWidth();//获取屏幕宽
int screenHeight = display.getHeight();//获取屏幕高
//计算缩放比例
int scaleWidth = imageWidth / screenWidth;
int scaleHeight = imageHeight / screenHeight;
int scale = 1;
//如果宽高缩放比例不一致,采用哪个(采用比例高的那个),
// scaleWidth > 0表示图片的宽度要比屏幕的大时
if (scaleWidth >= scaleHeight && scaleWidth > 0){
scale=scaleWidth;
}else if(scaleWidth<scaleHeight && scaleHeight>0){
scale=scaleHeight;
}
//设置缩放比例
options.inSampleSize=scale;
options.inJustDecodeBounds=false;
Bitmap bm=BitmapFactory.decodeFile("sdcard/girl.jpg",options);
ImageView iv= (ImageView) findViewById(R.id.iv1);
iv.setImageBitmap(bm);
}
加载图片(缩放当图片太大)
最新推荐文章于 2022-04-29 17:24:50 发布