android中缩放图片的方法
16lz
2022-07-29
static Drawable zoomDrawable(Drawable drawable, int w, int h) { int width = drawable.getIntrinsicWidth(); int height= drawable.getIntrinsicHeight(); Log.d("ME", "Width = " + width); Log.d("ME", "Height = " + height); Bitmap oldbmp = drawableToBitmap(drawable); // drawable转换成bitmap Matrix matrix = new Matrix(); // 创建操作图片用的Matrix对象 float scaleWidth = ((float)w / width); // 计算缩放比例 float scaleHeight = ((float)h / height); Log.d("ME", "scaleWidth = " + scaleWidth); Log.d("ME", "scaleHeight = " + scaleHeight); matrix.postScale(scaleWidth, scaleHeight); // 设置缩放比例 Bitmap newbmp = Bitmap.createBitmap(oldbmp, 0, 0, width, height, matrix, true); // 建立新的bitmap,其内容是对原bitmap的缩放后的图 return new BitmapDrawable(newbmp); // 把bitmap转换成drawable并返回 } static Bitmap drawableToBitmap(Drawable drawable) // drawable 转换成bitmap { int width = drawable.getIntrinsicWidth(); // 取drawable的长宽 int height = drawable.getIntrinsicHeight(); Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888:Bitmap.Config.RGB_565; // 取drawable的颜色格式 Bitmap bitmap = Bitmap.createBitmap(width, height, config); // 建立对应bitmap Canvas canvas = new Canvas(bitmap); // 建立对应bitmap的画布 drawable.setBounds(0, 0, width, height); drawable.draw(canvas); // 把drawable内容画到画布中 return bitmap; }
更多相关文章
- Android(安卓)matrix 控制图片的旋转、缩放、移动
- android之BitMap
- android之BitMap
- android WebView 图片缩放功能小结
- android 中的 Bitmap 相关
- android之launcher时序图and图标的建立
- android使用inSampleSize、inScaled、inDensity、inTargetDensit
- android > 建立WIFI 热点
- Android(安卓)webview记住账号密码