加载图片(缩放当图片太大)

来源:互联网 发布:韦斯安德森 知乎 编辑:程序博客网 时间:2024/09/21 08:50
 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);    }
0 0
原创粉丝点击