Christian: JPG unter Java speichern / Image in ein BufferedImage umwandeln?

Beitrag lesen

Hallo,

Ich möchte ein Bild, auf das eine Imagereferenz verweist, unter Java als jpg abspeichern und dazu den jpeg-Encoder von sun (com.sun.image.codec.jpeg.*) verwenden:

/********************************************************/
es funktioniert z.B. folgendes (Code in der main):
try
{
// screenshot in ein BufferedImage schreiben:
BufferedImage screenshot = (new Robot()).createScreenCapture(new Rectangle(0,0,800,600)) ;

// in die Datei test.jpg schreiben:
OutputStream out = new BufferedOutputStream(new FileOutputStream("meinBild.jpg")) ;
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder (out) ;
encoder.encode(screenshot) ;
out.close() ;
}
catch (Exception exc) {exc.printStackTrace();}
/********************************************************/

Statt eines screenshots möchte ich jetzt ein bestehendes Imageobjekt (Image pic;) in die Datei schreiben. Die Methode encode des JPEGImageEncoder-Objekts benötigt aber ein BufferedImage. Weiß jemand wie ein Imageobjekt in Java in ein BufferedImage umgewandelt werden kann bzw. das Bild, auf das die Image-Referenz verweist in ein mit new erstelltes BufferedImage kopiert werden kann? Oder ist es viel einfacher?

Grüße aus Stralsund,
Christian