Android中图片压缩方案

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:33   1889   0

图片占用内存大小计算:宽*高*单位像素占字节数(RGB_8888占4,RGB_565占2);

质量压缩,只会改变图片文件体积大小,并不会改变图片内存大小。 quality(0-100)

bitmap.compress(Bitmap.Compress.JPEG, quality, outStream);

尺寸压缩(像素压缩),缩放图片像素来改变内存占用大小

方法一:ratio控制缩放比

Rect rect = new Rect(0, 0, bmp.getWidth()/ratio, bmp.getHeight/ratio);

canvas.drawBitmap(bmp, null, rect, null)

方法二:matrix

Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true);

采样率压缩,2的指数倍的采样,大大减少内存,但是不能精确压缩,图片质量不好控制。

BitmapFactory.Options.inSampleSize

参考文章

三种常见方法:https://www.cnblogs.com/Free-Thinker/p/6394723.html

比较详细的方法:https://www.jianshu.com/p/0b4854aae105

JNI使用Jpeg库: https://www.cnblogs.com/mc-ksuu/p/6443254.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP