# Screenshot aus Java3D heraus



## Grizzly (20. Aug 2006)

Ich habe mal in der API sowie im Internet nach dem Thema gesucht, aber nur eine Möglichkeit bisher gefunden: Einen Screenshot per java.awt.Robot. Ich hab noch nicht getestet, ob das funktioniert. Aber gibt es auch eine saubere Möglichkeit? Also Java3D irgendwie anzuweisen, ein Image zu erstellen, dass ich dann weiterverarbeiten kann?


----------



## kaie (20. Aug 2006)

Ich hab sowas mal vor einiger Zeit gemacht, aber frag mich nicht, wie ich das damals hingekriegt habe. Ich hoffe, das funktioniert so:


```
int width = canvas3D.getSize().width;
int height = canvas3D.getSize().height;
GraphicsContext3D ctx = canvas3D.getGraphicsContext3D();
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
ImageComponent2D ic = new ImageComponent2D(ImageComponent.FORMAT_RGB, bi);
Raster ras = new Raster(new Point3f(-1.0f, -1.0f, -1.0f),
                        Raster.RASTER_COLOR, 0, 0, width, height, ic, null);
ctx.readRaster(ras);
Image result = ras.getImage().getImage();
```


----------



## Grizzly (21. Aug 2006)

Super, kaie, funktioniert erste Sahne. Danke.


----------

