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