Bonjour tout le monde,
Je n'ai pas l'habitude de poster sur un forum parce que je trouve en général toujours mes réponses aux problèmes (après diverses recherches).
Là, j'avoue que je suis pas mal bloquée...
Je suis étudiante en Informatique et je développe une Loupe en Java.
Je sais qu'il existe différentes manières de le faire. La mienne est qu'il y a une fenêtre qui se déplace par rapport à la souris. (cette partie est ok)
De plus, lorsque l'on se déplace est affiché l'image qui est derrière la JFrame.
C'est sur ce point que je bloque.
Lorsque je fais une capture d'écran à l'endroit où se trouve la JFrame, je suis obligée de faire un setVisible(false) cependant cela scintille et rien ne fonctionne.
Par contre, lorsque je ne fais pas de setVisible et que je capture une partie de l'écran hors de la JFrame, cela marche..
Ma classe hérite d'un JFrame et implémente l'interface Runnable.
Voici un bout de mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public void run() { while (true) { try { repaint(); // Rafraîchissement toutes les 5 millisecondes Thread.sleep (5); } catch (InterruptedException exception) {} } }En bref, comment faire pour capturer une image qui se situe en dessous d'une JFrame?
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 public void paint(Graphics g) { if(buffer == null) { image = createImage(width,height); buffer = image.getGraphics(); } ... // Bout de code effacé Rectangle rectangle = new Rectangle(...); //setVisible(false); img = robot.createScreenCapture (rectangle); //setVisible(true); ... }
Merci par avance pour votre aide.
Cordialement
Partager