# Java 3D:Screenshot machen.Komische Farben



## aze (5. Jan 2010)

Hi

Ich hab in meiner Java3D Anwendung eine Funktion eingebaut,die von einen JCanvas3D einen Screenshot macht.Das funktioniert auch.Das Bild sieht nur etwas komisch aus.

Hier der Code :


```
BufferedImage bufferedImage = jCanvas3D.getOffscreenCanvas3D().getOffScreenBuffer().getImage();

            try
            {
                ImageIO.write(bufferedImage, "jpeg", new File("C:/Beispiel.jpg"));
            }
            catch (IOException ex)
            {
                Exceptions.printStackTrace(ex);
            }
```

Im Anhang sieht man auf Soll.jpg wie es aussehen soll und auf Ist.jp wie die Aufnahme tatsächlich aussieht


----------



## aze (5. Jan 2010)

Eine Umstellung von jpeg auf png löst das Problem.


----------



## Marco13 (5. Jan 2010)

Das kann mit dem ColorModel und evtl. Vorhandenen Transparenzen des BufferedImages zu tun haben. Abhilfe (wenn es JPG sein soll) könnte schon sowas sein wie

```
BufferedImage bufferedImage = jCanvas3D.getOffscreenCanvas3D().getOffScreenBuffer().getImage();
BufferedImage temp = new BufferedImage(bufferedImage.getWidth(), bufferedImage.getHeight(), BufferedImage.TYPE_INT_RGB);
temp.getGraphics().drawImage(bufferedImage, 0,0,null);
bufferedImage = temp;
```


----------



## aze (5. Jan 2010)

Mit den Trick von Marco funktioniert es ebenfalls. :toll:


----------

