1 /* 缩放进行加载*/
// 1 获得手机的分辨率(通过WindowManager)
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
// wm.getDefaultDisplay() 封装了屏幕相关的信息 此处获得宽高
int width = wm.getDefaultDisplay().getWidth();// 方法已经弃用 但是可以使用
int height = wm.getDefaultDisplay().getHeight();
Log.d(TAG, "onCreate: "+width+" "+height);
2 新的方法替换:
Point point= new Point();
wm.getDefaultDisplay().getSize(point);// 传参数Point对象
int width = point.x;
int height = point.y;
Log.d(TAG, "onCreate: "+width+" "+height);
(此方式必须满足api大于13)
3
// 此种方式加载大图片容易oom
Bitmap bitmap = BitmapFactory.decodeFile("mnt/sdcard/1.jpg");
if (bitmap != null) {
imageView.setImageBitmap(bitmap);
} else {
Toast.makeText(this, "bitmap 为null", Toast.LENGTH_SHORT).show();
}
4
//创建位图工厂配置参数
BitmapFactory.Options options = new BitmapFactory.Options();
// 设置为true 解码器不去真正解析位图 但是会获得位图的宽高信息(封装到options中 宽高)
options.inJustDecodeBounds = true;
Bitmap bitmap = BitmapFactory.decodeFile("mnt/sdcard/1.jpg", options);
//获得图片宽高
int Imgheight = options.outHeight;
int Imgwidgh = options.outWidth;
网友评论