Créer une capture d'écran (d'une frame) avec Java

Pour faire des captures d’écran en java il faut utiliser la classe Robot du package "java.awt.image" et pour créer une image en jpg nous utilisons le package "com.sun.image.codec.jpeg". Voici un morceau de code qui vous permettra de faire un "screenshot" et ensuite de l’enregistrer au format JPG dans un fichier.
 // Initialisations
Robot robot = null;
String filename = "ImageFrame1.jpg";
try {
// Instance de Robot;
robot = new Robot();
// Récupère l’image dans un objet de type BufferedImage
BufferedImage image = robot.createScreenCapture(
new Rectangle((int) frame.getX(), (int) frame.getY(), frame.getWidth(), frame.getHeight()));

try {
// Ouvre un fichier
FileOutputStream f = new FileOutputStream(filename);
// Créer un stream
BufferedOutputStream bos = new BufferedOutputStream (f);
// Copie le contenu de l’image dans le stream
JPEGImageEncoder enc = JPEGCodec.createJPEGEncoder(bos);
enc.encode(image);
bos.close();
f.close();
}
catch (ImageFormatException ex2) {
}
catch (FileNotFoundException ex1) {
}
catch (IOException ex2) {
}
}
catch (AWTException ex) {
return false;
}

Laboratoire SUPINFO des technologies Sun
labo-sun@supinfo.com


Conditions d'utilisation et © Copyright SUPINFO International University
23, rue de Château Landon - 75010 PARIS - Tél : +33 (0) 153359700 Fax : +33 (0) 153359701
Respect de la vie privée