为什么表情包用久会变绿。

8bitdead-avatar

8bitdead

互联网包浆,宝友这兴盘
iq99r-avatar

iq99r

微信压缩算法的问题
秀夫小島-avatar

秀夫小島

压缩图片导致的
Jutes-avatar

Jutes

jpg有损压缩
RunMan-avatar

RunMan

Lion Yang
编辑推荐
等 2 项收录
6,204 人赞同了该回答
业余版概要:安卓的一个核心的部分的代码,为了优化执行速度进行了魔改,结果写错了代码。结果导致 JPG 图片压缩发绿、崩坏。与安卓上的应用无关,它们是受害者(


专业版概要:问题出在 Android 提供的压缩图片接口上,准确的说是一个 Android 里一个叫做 Skia 的库上。而这个 bug 在 2016 年 4 月中旬被修复了,如果按照 Android 的发行来看,那就是从 Android 7 (Nougat) 开始才消除这个问题。
(不是百度的阴谋。(认真)

帮楼主复制粘贴一下
Splarff-avatar

Splarff

我只知道在百度贴吧,你发一张图,因为每次发图会经历个“压缩”的过程,图片会的完整性其实一步一步在降低,发多了就会变绿。
过程大概是: A发了 1.jpg 然后B右键保存了网页上的1.jpg B再次把1.jpg发出来 然后C保存了B的1.jpg 如此循坏多次到了Z发的1.jpg就会“变绿” 至于为什么是绿不是黄我也不知道
IamJ4_-avatar

IamJ4_

电子包浆

因为不是每次都是原图,有压缩的,有截屏的,更过分有拍屏的,转过一次画质就降低一点
Disprie-avatar

Disprie

[quote][pid=526990271,27333287,1]Reply[/pid] Post by [uid=60062006]看什么看有什么好看的[/uid] (2021-06-24 15:20):

微信压缩算法的问题[/quote]不点原图就存图发图,大概这个感觉
BunnyBean-avatar

BunnyBean

因为两种图片格式转换的时候有取整的问题,每一次取整都会变绿或者变黄
ansonftw-avatar

ansonftw

这个之前面试被问过了的。
Android最终用于绘制的引擎skia的锅。
简而言之就是绝大多数app再你上传图片到app时会直接用系统api :bitmap#compress,最终到native端将rgb转换为yuv时,会向下取整,由于yuv越向下取整就会越绿越暗。
所以一张图片经过多次上传-压缩-下载-上传这个过程后会越来暗越来越绿