Sensei: JPEG Encoder: Farben werden falsch

Beitrag lesen

Hi!

Ich habe für ein Projekt einen ganz einfachen JPEG Encoder verwendet.
Dabei gehts darum:

  • Zuerst wird ein JPEG Bild eingelesen
  • Dann wird es verändert
  • Dann wird es als original und das veränderte dargestellt
    (klappt alles bis hier hin)
  • und dann wollte ich noch das veränderte Bild (bufferedImage)abspeichern, mit folgendem code:

----------------------------------------

ByteArrayOutputStream out = new ByteArrayOutputStream(0xfff);

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);

JPEGEncodeParam param;
       param = encoder.getDefaultJPEGEncodeParam(painting);

param.setQuality(0.75f, false);
       encoder.encode(painting/*, param*/);

FileOutputStream fos = new FileOutputStream(getBasePath()+"spider/painterly"+frameCounter+".jpg");
       fos.write(out.toByteArray());
       fos.close();
        out.close();

----------------------------------------

Nunja, das Bild wird leider nicht so wies sein sollte (so wies auch angezeigt wird). Die Fraben sind total komisch, viel rot und blau...!

Was mache ich da falsch? Muss ich irgendwelche Farbpaletten übergeben oder so?

Vielen Dank, Sensei