聊到日常手机的存储,不得不说到压缩和解码技术,每次我们保存在手机的表情包和和图片,每当我们没有用原图保存图片,过一段时间,图片和表情包就会变得模糊,再发送出去就变得就像浆糊一样,棱棱角角就模糊不清。

而且如果一张反复被保存,下载,更容易出现这种情况,图片画质逐渐出现像素点,好像一张拼凑而成的加工图片。

现在的压缩和解码技术为了让手机能存储更多内容,往往一张图片压缩到非常小,而且有的算法会导致图片转存后会逐渐模糊,变绿。

下面是一张源文件Source image:

电子包浆是什么原理(不知道什么是电子包浆)(1)

而如果一张图片出现了这样的情况:

电子包浆是什么原理(不知道什么是电子包浆)(2)

那么这张图片就是“电子包浆”图片,这样的图片是由于图片的压缩导致的,很多jpg压缩算法会有这样的情况。

出现这样的情况说明此图经过了多次传播和反复保存。

在 Android 中进行图片压缩是非常常见的开发场景,主要的压缩方法有两种:其一是质量压缩,其二是采样压缩。

前者是在不改变图片尺寸的情况下,改变图片的存储体积,而后者则是降低图像尺寸,达到相同目的。

针对图片尺寸的修改其实就是一个图像重新采样的过程,放大图像称为上采样,缩小图像称为下采样。

在程序员的代码中我们选择的压缩格式是:

1.CompressFormat.JPEG

2.CompressFormat.PNG :格式是无损的,它无法再进行质量压缩,quality 这个参数就没有作用了,会被忽略,所以最后图片保存成的文件大小不会有变化;

3.CompressFormat.WEBP:这个格式是 google 推出的图片格式,它会比 JPEG 更加省空间,经过实测大概可以优化 30% 左右

将 PNG 图片转成 JPEG 格式之后不会降低这个图片的尺寸,但是会降低视觉质量,从而降低存储体积。同时,由于尺寸不变,所以将这个图片解码成相同色彩模式的 bitmap 之后,占用的内存大小和压缩前是一样的。

在 Android 中图片重采样提供了两种方法,一种叫做邻近采样Nearest Neighbour Resampling),另一种叫做双线性采样(Bilinear Resampling)。

邻近采样:

电子包浆是什么原理(不知道什么是电子包浆)(3)

双线性采样:

电子包浆是什么原理(不知道什么是电子包浆)(4)

邻近采样字的显示失真对比双线性采样来说要严重很多。

好啦,大家以后遇到“电子包浆”要知道它是指图片的反复下载和保存压缩带来的。

小伙伴不用担心,下期给大家带来针对这种情况怎么解决哦。

,