android中Bitmap图像处理 修改图片大小以及保存时的文件大小

来源:互联网 发布:ben simmons数据 编辑:程序博客网 时间:2024/04/29 23:40

Options options1 = new Options();options1.inJustDecodeBounds = true;  BitmapFactory.decodeFile(filePath, options1);  options1.inSampleSize = RegisterTool.calculateInSampleSize(options1, 110, 160);  //110,160:转换后的宽和高,具体值会有些出入options1.inJustDecodeBounds = false;  Bitmap bitmap = BitmapFactory.decodeFile(filePath, options1);       //filePath:文件路径
public static int calculateInSampleSize(BitmapFactory.Options options,int reqWidth, int reqHeight) {final int height = options.outHeight;final int width = options.outWidth;int inSampleSize = 1;if (height > reqHeight || width > reqWidth) {final int heightRatio = Math.round((float) height/ (float) reqHeight);final int widthRatio = Math.round((float) width / (float) reqWidth);inSampleSize = heightRatio < widthRatio ? widthRatio : heightRatio;}return inSampleSize;}
//压缩图片并将Bitmap保存到本地FileOutputStream out = new FileOutputStream(new File(filePath));saveBitmap.compress(Bitmap.CompressFormat.JPEG, 60, out);   //60代表压缩40%








1 0