我是靠谱客的博主 霸气芹菜,最近开发中收集的这篇文章主要介绍bitmap 压缩 compress,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               
 /**     * 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里面去了


           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

最后

以上就是霸气芹菜为你收集整理的bitmap 压缩 compress的全部内容,希望文章能够帮你解决bitmap 压缩 compress所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部