Salut à tous...
Est-ce que la méthode equals de la classe BufferedImage fonctionne bien ? J'essaye de tester l'égalité entre deux captures d'écran, mais ça me retourne toujours faux, sans que mes fenêtres/mon arrière plan/etc n'ait bougé d'un pouce entre les deux captures. C'est pas que j'ai pas envie de jouer au jeu des sept erreurs, m'enfin quand y en a pas...
A titre indicatif, le énième test rapide que je viens de réaliser:Me donne le résultat suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import java.awt.Rectangle; import java.awt.Robot; import javax.swing.ImageIcon; public class Test { public static void main(String[] args) { try { Rectangle rect = new Rectangle(0, 0, 54, 54); System.out.println(new Robot().createScreenCapture(rect).equals(new Robot().createScreenCapture(rect))); Robot rob = new Robot(); //A tout hasard... System.out.println(rob.createScreenCapture(rect).equals(rob.createScreenCapture(rect))); System.out.println(new ImageIcon(rob.createScreenCapture(rect)).getImage().equals(new ImageIcon(rob.createScreenCapture(rect)).getImage())); } catch (Exception e) { System.out.println(e); } } }Ce qui est, vous en conviendrez, assez surprenant. Je vous passe le screenshot (manuel) d'un affichage des deux images en question, mais elles sont à l'oeil parfaitement identiques..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 seth@fadreils: java Test false false false
Partager