terça-feira, 29 de março de 2011

Dicas de Programação: Obtendo um screenshot de seu desktop em Java

Para obter o screenshot de seu Desktop (ou Área de Trabalho) em Java é relativamente fácil. :)
Vamos ao passo a passo:

1) Para obter o tamanho da tela de seu Desktop, a gente pode usar a classe Toolkit do pacote java.awt:

java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();

2) Agora para fazer o screenshot, basta usar a classe Robot do mesmo pacote:

java.awt.Robot robot = new java.awt.Robot();
java.awt.image.BufferedImage screenshot = robot.createScreenCapture(new java.awt.Rectangle(screenSize));

3) Depois, é só salvar em um arquivo:

java.io.FileOutputStream output = new java.io.FileOutputStream("capture.png");
javax.imageio.ImageIO.write(screenshot, "png", output);
output.close();

Simples, não? :P

Embaixo, o código completo:

public class ScreenShot {

public static void main(String... args) throws java.lang.Exception {

java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
java.awt.Robot robot = new java.awt.Robot();
java.awt.image.BufferedImage screenshot = robot.createScreenCapture(new java.awt.Rectangle(screenSize));
java.io.FileOutputStream output = new java.io.FileOutputStream("capture.png");
javax.imageio.ImageIO.write(screenshot, "png", output);
output.close();

}

}

Nenhum comentário: