Beim Versuch, Bilder auf meiner SD-Karte zu skalieren, bemerkte ich, dass Originalfarben verändert wurden. Es scheint, dass BitmapFactory.decodeFile dafür verantwortlich ist. Hier ist ein Beispielcode:Android hat keinen Respekt vor Farben!
private void testImage() throws Exception{
BitmapFactory.Options o = new BitmapFactory.Options();
o.inDither = false;
o.inPreferredConfig = Bitmap.Config.ARGB_8888;
o.inScaled = false;
Bitmap b = BitmapFactory.decodeFile("/sdcard/test/original.jpg", o);
b.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream("/sdcard/test/result.jpg"));
b.compress(Bitmap.CompressFormat.PNG, 100, new FileOutputStream("/sdcard/test/result.png"));
}
Ergebnissbilder (original.jpg, result.jpg, result.png):
hat, können Sie die Haut des Jungen sehen ist ein bisschen grün auf den 2 resultierenden Bildern. Irgendwelche Tipps, um dieses Problem zu lösen?
FWIW, die drei Bilder sehen für mich identisch aus. – CommonsWare
Ich sehe nicht wirklich einen Unterschied in Ihrem Png – schwiz
FWIW, sehe ich einen Unterschied in den zweiten beiden im Vergleich zu den ersten :) –