Tips: Screenshot en Java

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();
        }
    }
}

Ejemplo del resultado final.Ejemplo de resultado Screenshot

Comentarios

Comments are closed.