// 根据路径获得图片并压缩,返回bitmap用于显示    private 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);    }    //计算图片的缩放值    private 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转换成String    public static String bitmapToString(String filePath) {        Bitmap bm = getSmallBitmap(filePath);        ByteArrayOutputStream baos = new ByteArrayOutputStream();        //1.5M的压缩后在100Kb以内,测试得值,压缩后的大小=94486字节,压缩后的大小=74473字节        //这里的JPEG 如果换成PNG,那么压缩的就有600kB这样        bm.compress(Bitmap.CompressFormat.JPEG, 40, baos);        byte[] b = baos.toByteArray();        Log.d("d", "压缩后的大小=" + b.length);        return "data:img/jpg;base64," + Base64.encodeToString(b, Base64.DEFAULT);    }

调用

String base64str = bitmapToString(path);//path 图片路径

更多相关文章

  1. Android 图片左上角、右上角标签tag
  2. Android改变系统自带ProgressDialog的文字大小
  3. Android大图片加载处理
  4. android WebView 拍照上传图片兼容
  5. android旋转图片
  6. Android圆角图片封装类(直接使用)
  7. Android 图片缩放实例详解
  8. android获取图库图片并返回
  9. Android 自定义文本框(带图片)

随机推荐

  1. android之SMS
  2. 仿优酷Android客户端图片左右滑动(自动滑
  3. 获取Android设备基本信息
  4. Android线程管理之ThreadLocal理解及应用
  5. ContentProvider详解及使用大全
  6. Android 自定义格式的对话框
  7. Android 处理横竖屏切换
  8. android中读写sd卡文件
  9. Android的Thread & ProgressBar
  10. Android Activity 设置全屏