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

android图片缩放(指定大小) drawable获取图片后怎么设置图片大小

2017-03-30 16:33 591 查看
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/3474453842
Bitmap 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: