Une image à fond blanc qui est verdâtre ?

Par défaut

Attention : article purement technique, connaissance en codage Android souhaitées.

J’ai été confronté récemment à un souci de rendu de d’image jpg sur le Galaxy S et le Galaxy S2 : le fond des images était blanc mais ce blanc ressortait verdâtre sur l’écran de ces deux appareils alors que le blanc était correct sur le reste du parc d’appareils qu’on a au bureau.

La solution à ce problème est toute simple, il faut forcer le dithering dans le décodage de l’image :

BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inDither = true;
Bitmap image = BitmapFactory.decodeStream(buffer.getContent(), null, opts);

Pourquoi ça ne le fait pas partout ? Aucune idée surtout que j’ai eu le bug sur une ROM Samsung et une Cyanogen.