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:
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); }
	}
}
Me donne le résultat suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
seth@fadreils: java Test
false
false
false
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..