Magazine High tech

Java et les captures d’écran

Publié le 08 février 2011 par Psyphi

Aujourd’hui nous allons parler de Java et des captures d’écran.

Si il est facile de faire une copie d’écran du bureau grâce à la méthode createScreenCapture de la classe Robot.

1
2
3
4
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(new Rectangle(
  Toolkit.getDefaultToolkit().getScreenSize()));
ImageIO.write(image, "jpeg", new File("C:\\screenshot.jpeg"));

Il est nécessaire d’utiliser une petite astuce pour faire un screenshot d’un JComponent. Il est même possible de faire une capture d’écran d’un composant SWING sans que celui ci apparaisse à l’écran! Pour cela, on instancie une nouvelle image et on créé une instance de Graphics à partir de cette dernière. Puis on fait dessiner le JComponent dans ce Graphics, pour enfin sauvegarder l’image sur le disque dur.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void takeSnapShot(JPanel panel)
{
  // Create a new image with the JComponent size
  BufferedImage bufImage = new BufferedImage(panel.getSize().width, panel.getSize().height,BufferedImage.TYPE_INT_ARGB);
  // The panel draw itself into the graphics of the image
  panel.paint(bufImage.createGraphics());
  // Instantiate a file for saving the screenshot
  File imageFile = new File("./screenshot.png");
  try
  {
    imageFile.createNewFile();
    ImageIO.write(bufImage, "png", imageFile);
  }
  catch(Exception ex)
  {
    ex.printStackTrace();
  }
}

flattr this!


Retour à La Une de Logo Paperblog

A propos de l’auteur


Psyphi 1784 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog