美文网首页
Android图片压缩

Android图片压缩

作者: _Youngjim | 来源:发表于2017-12-20 14:44 被阅读0次

方法一:质量压缩

这种压缩方法不压缩bitmap的内存,而是在上传下载时的图片的大小变小,除了这种压缩方法,其他的都是压缩bitmap内存,而图片文件本身的大小也随着变小。

 ByteArrayOutputStream baos = new ByteArrayOutputStream();
            bit.compress(CompressFormat.JPEG, quality, baos);//quality是比例0~100,100表示不压缩
            byte[] bytes = baos.toByteArray();
            bm = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
            Log.i("wechat", "压缩后图片的大小" + (bm.getByteCount() / 1024 / 1024)
                    + "M宽度为" + bm.getWidth() + "高度为" + bm.getHeight()
                    + "bytes.length=  " + (bytes.length / 1024) + "KB"
                    + "quality=" + quality);

方法二:matrix

宽高会变小但画质不会失真

(有setmartrix 和postmartrix,premartrix之分,第一个是后面设置的效果覆盖前面的,第二个是一起混合显示,第三个还没研究)

对于Bitmap.createBitmap(bm, 0, 0, bm.getWidth(),bm.getHeight(), matrix, true);最后一个参数据说是是否滤波,true图片效果更好,还有待考究,初步测试没有什么不同,可能需要某些条件

Matrix matrix = new Matrix();
        matrix.setScale(0.5f, 0.5f);

        bm = Bitmap.createBitmap(bm, 0, 0, bm.getWidth(),
                bm.getHeight(), matrix, true);
        Log.i("wechat", "压缩后图片的占用内存大小" + (bm.getByteCount() / 1024)
                + "K宽度为" + bm.getWidth() + "高度为" + bm.getHeight());
裁剪后图片内存减小.png

方法三:采样率压缩

宽高变小画质还失真

BitmapFactory.Options options = new BitmapFactory.Options();
            options.inSampleSize = 2;

            bm = BitmapFactory.decodeFile(getResources(), R.drawable.ccc, options);
            Log.i("wechat", "压缩后图片的大小" + (bm.getByteCount() / 1024 )
                    + "K宽度为" + bm.getWidth() + "高度为" + bm.getHeight());

相关文章

  • 图片压缩

    Android应用开发中三种常见的图片压缩方法,分别是:质量压缩法、比例压缩法(根据路径获取图片并压缩)和比例压缩...

  • Android:图片压缩的几种方式

    1、前言 在Android中,图片的压缩对于内存的优化很重要 通过这篇文章对Android中的几种图片压缩方式进行...

  • 图片压缩

    Android图片压缩常用的有质量压缩、尺寸压缩、采样率压缩以及通过JNI调用libjpeg库来进行压缩(尺寸压缩...

  • 【Android开发基础系列】图片专题

    1 图片编辑处理 1.1 图片裁切 转载自:bitmap的六种压缩方式,Android图片压缩 http://bl...

  • 资源图片优化

    tinypng 在线图片压缩 webP android studio选中图片右键Convert to webP

  • Android

    Android常用图片压缩方式 质量压缩 尺寸压缩 1. 质量压缩 质量压缩通过相应算法进行优化Bitmap的位深...

  • bitmap的六种压缩方式,Android图片压缩

    此处分享一个图片的压缩处理方式 : bitmap的六种压缩方式,Android图片压缩 转载链接,点击查看详情 !

  • Android图片压缩

    1.采样率压缩 采样率压缩是改变了图片的像素,他是通过先读取图片的边,然后在自己设定图片的边,然后根据设定,读取图...

  • android图片压缩

    质量压缩 尺寸压缩 缩放法压缩(matrix) RGB_565法(比ARGB_888少一半) createScal...

  • Android图片压缩

    首先,需要注意的是图片在内存中的大小是根据分辨率来决定的,即height*width BitmapFactory这...

网友评论

      本文标题:Android图片压缩

      本文链接:https://www.haomeiwen.com/subject/thsgwxtx.html