android圖片縮放(指定大小) drawable獲取圖片後怎麼設定圖片大小
阿新 • • 發佈:2019-01-26
http://gqdy365.iteye.com/blog/1125037
android圖片縮放(指定大小)
private Drawable zoomDrawable(Drawable drawable, int w, int h) { int width = drawable.getIntrinsicWidth(); int height = drawable.getIntrinsicHeight(); Bitmap oldbmp = drawableToBitmap(drawable); Matrix matrix = new Matrix(); float scaleWidth = ((float) w / width); float scaleHeight = ((float) h / height); matrix.postScale(scaleWidth, scaleHeight); Bitmap newbmp = Bitmap.createBitmap(oldbmp, 0, 0, width, height, matrix, true); return new BitmapDrawable(null, newbmp); } private Bitmap drawableToBitmap(Drawable drawable) { int width = drawable.getIntrinsicWidth(); int height = drawable.getIntrinsicHeight(); Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565; Bitmap bitmap = Bitmap.createBitmap(width, height, config); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, width, height); drawable.draw(canvas); return bitmap; }
drawable獲取圖片後怎麼設定圖片大小
http://tieba.baidu.com/p/3474453842Bitmap originalBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.qqm); int originalWidth = originalBitmap.getWidth(); int originalHeight = originalBitmap.getHeight(); int newWidth = 100; int newHeight = 150; // 自定義 高度 暫時沒用 float scale = ((float) newHeight) / originalHeight; Matrix matrix = new Matrix(); matrix.postScale(scale, scale); Bitmap changedBitmap = Bitmap.createBitmap(originalBitmap, 0, 0, originalWidth, originalHeight, matrix, true); changedImageView.setImageBitmap(changedBitmap);//你的 ImageView