Marc Reichelt: Danke

Beitrag lesen

Hallo Christoph,

Ich bin kein Experte auf dem Gebiet der Java-Grafikfuktionen, aber so wie ich das sehe, gibt es keine Möglichkeit, nur aus dem Graphics(2D)-Objekt die Imagedaten zu gewinnen.

Richtig, das musste ich leider auch feststellen.

Anders sieht es jedoch aus, wenn du Zugriff auf die Komponente, in der sich alle grafischen Ausgaben abspielen, hast (kann z.B. der oberste Container sein). Ich würde den dann manuell mit Doppelpufferung versehen und das Offscreen-Image wie benötig weiterverarbeiten, z.B. mit den Klassen aus javax.imageio wie ImageIO.

So ähnlich habe ich es nun gemacht, Stichwort BufferedImage.
Mit Hilfe der createGraphics()-Methode erzeugt man ein Graphics2D-Objekt.

Über eine Schleife habe ich nun dafür gesorgt, dass die Zeichenmethoden zwei Mal ausgeführt werden: Einmal zum Zeichnen auf den Bildschirm, und ein Mal zum Erzeugen der PNG-Datei.

Vielen Dank! Auch wenn ich bereits selbst auf die Lösung gekommen bin, aber du hast genau den richtigen Ansatz getroffen! :-)

Grüße

Marc Reichelt || http://www.marcreichelt.de/

--
Linux is like a wigwam - no windows, no gates and an Apache inside!
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
http://emmanuel.dammerer.at/selfcode.html