android 将drawable图片进行缩放

来源:互联网 发布:广州少儿编程 编辑:程序博客网 时间:2024/05/17 21:22

需求,将drawable图片按照屏幕宽度进行缩放
这里主要说通过Java代码来缩放
1、首先将drawable图片转换成bitmap
2、然后对bitmap进行缩放
3、将bitmap转回drawable

//得到图片的分辨率,获取宽度DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);int mScreenWidth = dm.widthPixels;// 获取屏幕分辨率宽度int mScreenHeight = dm.heightPixels;//加载图片Bitmap bitmap = BitmapFactory.decodeResource(getResources(),    R.drawable.bank_help);int bitmapWidth = bitmap.getWidth();int bitmapHeight = bitmap.getHeight(); //需要判断屏幕宽度和图片宽度的大小,来决定是放大还是缩小,如果是放大,应该还需要加上图片本身宽度,即:(倍数+1)为缩放倍数float num = ((float)bitmapWidth/mScreenWidth)+1.0f;//得到图片宽度比float num = mScreenWidth / (float)bitmapWidth;Matrix matrix = new Matrix();matrix.postScale(num, num);// 产生缩放后的Bitmap对象Bitmap resizeBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmapWidth,    bitmapHeight, matrix, true);    Drawable drawable = new BitmapDrawable(resizeBitmap);
0 0