比较简单,直接上代码

    public static Bitmap compressImage(Bitmap bitmap) {        if (bitmap != null) {            ByteArrayOutputStream baos = new ByteArrayOutputStream();            bitmap.compress(CompressFormat.JPEG, 100, baos);            int length = baos.size();            Logger.d("compressImage", "before compress  size:" + (length/1024) + "KB");            final int MIN_BYTE = 200 * 1024;            //小于200K就放过它吧            if (length > MIN_BYTE) {                Logger.d("compressImage", "large than 200KB begin compress.");                //压缩比例公式,可自行定义                int quality = (int) (((length - MIN_BYTE) / 5.0 + MIN_BYTE) * 100 / length);                Logger.d("compressImage", "compress rate:" + quality + "%");                baos.reset();                if (bitmap.compress(CompressFormat.JPEG, quality, baos)) {                    byte[] bs = baos.toByteArray();                    length = bs.length;                    Logger.d("compressImage", "compress success new size:" + (length/1024) + "KB");                    ByteArrayInputStream bais = new ByteArrayInputStream(                            bs);                    return BitmapFactory.decodeStream(bais);                }            } else {                Logger.d("compressImage", "Not compress less than 200K size:" + (length/1024) + "KB");            }        } else {            Logger.d("compressImage", "decode bitmap error");        }        return bitmap;    }

更多相关文章

  1. Android:监听WIFI网络状态
  2. Android(安卓)获取内存信息
  3. Delphi XE5 android 获取网络状态
  4. Android(安卓)加载图片传到另一个页面 关于回调
  5. [Android] 动态语言切换
  6. Android:实现两个数相加的例子
  7. android 使用AsyncTask代替thread进行网络请求
  8. Android(安卓)五种不同样式Toast
  9. Android(安卓)使用des算法

随机推荐

  1. Activity和Task
  2. Android入门教程(七)之五大布局对象---Fr
  3. Android(安卓)日常开发(48)android.os.File
  4. Android(安卓)Activity/Fragment Lifecyc
  5. Android视频采集+H264编码成功
  6. BPF初探 - Android中BPF运用实例
  7. [android]滑动冲突 ScrollView+ViewPager
  8. [Android实例] Android(安卓)实例SOCKET
  9. Google Search Widget
  10. android中editText弹出软键盘并且根据edi