Tips: Screenshot en Java
Una de las APIs mas potentes y mas desconocidas en Java es «Java Media APIs» os dejo un pequeño ejemplo de como realizar una captura de pantalla( ) en Java.
Es realmente sencillo, el método robot.createScreenCapture(rectangleTam) genera el Screenshot y ImageIO.write(bufferedImage, «jpg», out); genera un fichero jpg con la captura realizada.
import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* Ejemplo de un captura de pantalla( screenshot ) basado en Java.
* 1.- Obtiene el tamaño del rectangulo
* 2.- Genera el screenshot basado en el tamaño del rectangulo.
* 3.- Esbribe la imagen en un fichero.
*
* @author Felix Garcia Borrego (borrego@gmail.com)
*/
public class EjemploCapturaDePantalla {
/**
* @param args
*/
public static void main(String... args) {
// obtenemos el tamaño del rectangulo
Rectangle rectangleTam = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
try {
Robot robot = new Robot();
// tomamos una captura de pantalla( screenshot )
BufferedImage bufferedImage = robot.createScreenCapture(rectangleTam);
String nombreFichero=System.getProperty("user.home")+File.separatorChar+"caputura.jpg";
System.out.println("Generando el fichero: "+nombreFichero );
FileOutputStream out = new FileOutputStream(nombreFichero);
// esbribe la imagen a fichero
ImageIO.write(bufferedImage, "jpg", out);
} catch (AWTException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}