Android 压缩图片并转Base64方法之一
16lz
2021-01-23
private void pushCamera() { //通过图片路径获取图片并压缩后转换成String String base64Image = bitmapToString(imagePath);}//计算图片的缩放值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 ? heightRatio : widthRatio; } return inSampleSize;}// 根据路径获得图片并压缩,返回bitmap用于显示public static Bitmap getSmallBitmap(String filePath) { final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(filePath, options); // Calculate inSampleSize options.inSampleSize = calculateInSampleSize(options, 480, 800); // Decode bitmap with inSampleSize set options.inJustDecodeBounds = false; return BitmapFactory.decodeFile(filePath, options);}//把bitmap转换成Stringpublic static String bitmapToString(String filePath) { Bitmap bm = getSmallBitmap(filePath); ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.JPEG, 40, baos); byte[] b = baos.toByteArray(); return Base64.encodeToString(b, Base64.DEFAULT);}
更多相关文章
- Android关于ListView显示SD卡上的Bitmap的图片(图片压缩之后)
- Android 获取指定文件目录下的图片
- Android在源图片上的XY坐标再画一个图片
- Android栗子の图片验证码生成实例代码
- Android Rxjava+Retrofit2上传图片以及多张图片
- Android中显示gif动态图片
- 第二十篇 Android获取本机图片、音频、视频、文档以及本地文件夹