/**     * Write a compressed version of the bitmap to the specified outputstream.     * If this returns true, the bitmap can be reconstructed by passing a     * corresponding inputstream to BitmapFactory.decodeStream(). Note: not     * all Formats support all bitmap configs directly, so it is possible that     * the returned bitmap from BitmapFactory could be in a different bitdepth,     * and/or may have lost per-pixel alpha (e.g. JPEG only supports opaque     * pixels).     *     * @param format   The format of the compressed image     * @param quality  Hint to the compressor, 0-100. 0 meaning compress for     *                 small size, 100 meaning compress for max quality. Some     *                 formats, like PNG which is lossless, will ignore the     *                 quality setting     * @param stream   The outputstream to write the compressed data.     * @return true if successfully compressed to the specified stream.     */    public boolean compress(CompressFormat format, int quality, OutputStream stream) {        checkRecycled("Can't compress a recycled bitmap");        // do explicit check before calling the native method        if (stream == null) {            throw new NullPointerException();        }        if (quality < 0 || quality > 100) {            throw new IllegalArgumentException("quality must be 0..100");        }        return nativeCompress(mNativeBitmap, format.nativeInt, quality,                              stream, new byte[WORKING_COMPRESS_STORAGE]);    }


以上摘自官方API

int count = image.getWidth() * image.getHeight() / 1024;Log.d("bitmap:compress", "压缩前:" + count);ByteArrayOutputStream bout = new ByteArrayOutputStream();// 质量压缩方法,这里100表示不压缩,把压缩后的数据存放到baos中image.compress(Bitmap.CompressFormat.JPEG, 50, bout); //修改第二个参数 count = image.getWidth() * image.getHeight() / 1024;Log.d("bitmap:compress", "压缩后:" + count);Log.d("bitmap:compress", "压缩后:" + bout.toByteArray().length / 1024);

运行以上代码--输出: 

压缩前 85 

压缩后 85 

压缩后 24  --

如果将第二个参数50改为10 则会

压缩前 85 

压缩后 85 

压缩后 13  --

————————————————————

可以发现bitmap基本上没有被压缩吧。  压缩后的数据被写到 bout里面去了


更多相关文章

  1. LinearGradient
  2. Android(安卓)WebService(基于SOAP协议)
  3. ToastUtil
  4. 蓝牙后台长连接 服务
  5. android 图片压缩工具类
  6. android:打开第三方数据库
  7. android图片压缩处理,并保存
  8. Android(安卓)下拉控件:Spinner
  9. 自定义数据适配器

随机推荐

  1. android版本更新功能
  2. Android中获取当前屏幕的尺寸大小
  3. Android之获取加载图片宽高问题(getIntrin
  4. Android开发错误信息收集
  5. JS判断是IOS还是Android,判断是否微信浏览
  6. Android异步处理特性之AsyncTask
  7. Android(安卓)面试总结
  8. android 从驱动到应用(二)
  9. Android网络连接处理学习笔记
  10. Android(安卓)Widget 小工具(两) 使用con