android中Bitmap图像处理 修改图片大小以及保存时的文件大小
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%
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。