En este articulo veremos como hacer una "instantánea" con JavaFx 2.2. Es muy práctica la forma de realizar esto con JavaFx versión 2.2; la idea es capturar la imagen en un buffer writer y luego escribir el buffer en un fichero como se hace normlamente en java. Vamos allá:
WritableImage snapshot = stage.getScene().snapshot(null);
Donde "stage.getScene()" es nuestra escena; pero que también podría ser un nodo.
WritableImage snapshot = node.snapshot(null,null);
Luego nos quedaría copiar nuestro WriteableImage a un File dentor de un try catch
WritableImage snapshot = node.snapshot(null,null);
Luego nos quedaría copiar nuestro WriteableImage a un File dentor de un try catch
File file = new File("test.png");
RenderedImage renderedImage = SwingFXUtils.fromFXImage(snapshot, null);
ImageIO.write(renderedImage, "png", file);
Finalmente nos quedaría una función así:
public void snapShotJavaFx()
{
WritableImage snapshot = scene.snapshot(null);
try{
File file = new File("test.png");
RenderedImage renderedImage = SwingFXUtils.fromFXImage(snapshot, null);
ImageIO.write(renderedImage, "png", file);
catch(IOException ex){
Logger.getLogger(TestJavaFX.class.getName()).log(Level.SEVERE, null, ex);
}
}
Nos quedaría la ventana de JavaFX sin la barra superior de la ventana de windows.
Espero les haya servido.
No hay comentarios:
Publicar un comentario