您的位置:首页 > 移动开发 > Android开发

Android 如何读取本地图片或者资源图片并自定义大小

2016-12-08 15:34 621 查看
摘要:将图片资源设置到控件的src属性并且要求全屏,且不丢失内容时,我们需要对原始的图片进行处理,改变大小来适应屏幕,尤其是对包含虚拟键盘的Android设备,需要手动增加图片的高度来实现虚拟键盘消失时的全屏

读取本地图片并自定义大小

Resources res = getResources();
//savedPath为图片路径
Bitmap bitmap =BitmapFactory.decodeFile(savedPath);
//Bitmap bitmap = BitmapFactory.decodeResource(res,R.drawable.test);
//自定义图片大小
Bitmap newBmp = Bitmap.createScaledBitmap(bitmap, width, height, true);
//将bitmap转化为Drawable,这是新的方法,如果用过时的方法Drawable drawable  = new BitmapDrawable(newBmp),则会造成图片大小和原来图片大小不符的情况,当然这种情况发生在没有自定义大小的情况下
Drawable drawable  = new BitmapDrawable(res,newBmp);


按比例放大或者缩小图片

注:当图片的长大于屏幕高度,宽小于屏幕宽度,并且要求全屏显示时使用

Resources res = getResources();
DisplayMetrics metrics = getResources().getDisplayMetrics();
width = metrics.widthPixels;
//根据资源id获取图片
Bitmap bitmap = BitmapFactory.decodeResource(res,R.drawable.test);
int bit_width = bitmap.getWidth();
int bit_height = bitmap.getHeight();
//计算高宽比
float p = (float) bit_height/bit_width;
Bitmap newBmp = Bitmap.createScaledBitmap(bitmap, width,(int)(width*p), true);
Drawable drawable  = new BitmapDrawable(res,newBmp);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 图片