1. 首页
  2. 移动开发
  3. Android
  4. 安卓图片反复压缩后为什么普遍会变绿而不是其它颜色?

安卓图片反复压缩后为什么普遍会变绿而不是其它颜色?

上传者: 2021-11-24 16:45:47上传 PDF文件 161.89 KB 热度 25次

安卓的一个核心的部分的代码,为了优化执行速度进行了魔改,结果写错了代码。结果导致 JPG 图片压缩发绿、崩坏。与安卓上的应用无关,它们是受害者问题出在 Android 提供的压缩图片接口上,准确的说是一个 Android 里一个叫做 Skia 的库上。而这个 bug 在 2016 年 4 月中旬被修复了,如果按照 Android 的发行来看,那就是从 Android 7 开始才消除这个问题。问题出在 RGB 色彩空间转换到 YUV 的时候。但问题不仅仅是精度下降,最大的问题是,错误的舍入。Android 系统自起诞生以来就引入了名为 Skia 的图像库,用于处理图像,其中包括把图片压缩成 JPEG。为了达到更好的压缩效果,JPEG 算法本身,将通常屏幕上表示颜色的 RGB(红绿蓝)数值,转换为 YUV 数值。

下载地址
用户评论