Capture d'ecran

gizzmaille Messages postés 3 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 13 février 2008 - 13 févr. 2008 à 13:13
 Utilisateur anonyme - 14 févr. 2008 à 03:33
salut a tous !
    je debute en java et je suis confronter a un petit probleme dans l'un de mes projet

    je developpe une methode qui doit effectuer des captures d'ecran  d'une fenetre active windows

jai reussi a faire plusieur capture via ce code:

            BufferedImage bi = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));

            OutputStream out = new FileOutputStream("c:/screenshot.jpg");
            JPEGCodec.createJPEGEncoder(out).encode(bi);
            out.close();

cela marche tres bien
mai j'obtien toujour une image du bureau complet jamais dune fenetre active 

donc voila ma question :)
comment obtenir une capture d'ecran d'un fenetre active windows ? (sans soft aditionelle en ligne de commande si possible ^^ juste en java)

et autre question relative a ce sujet
comment rendre active la dite fenetre ?

merci davance
gizz

5 réponses

didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
13 févr. 2008 à 14:31
Slt.
il faut que tu récupère les coordonnées de ta fenêtre active et que tu les mettes ici :
BufferedImage bi = new Robot().createScreenCapture(new Rectangle(posX, posY, tailleX, tailleY));
0
gizzmaille Messages postés 3 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 13 février 2008
13 févr. 2008 à 14:59
certe  ca marche mai si la fenetre change de dimension  ou  de position  c foutu.

je cherche a rendre ma methode dinamique (un minimum)

jai bien trouver cette autre bout de code :

Robot robot <code class="java_operator">=
new
Robot
();
BufferedImage image
=
robot.
createScreenCapture
(
new
Rectangle
( frame.
getX
(), frame.
getY
(), frame.
getWidth
(), frame.
getHeight
() )
);

mai il me semble que cela fonction qu'avec des fenetre java
</code>

 
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
13 févr. 2008 à 16:30
Slt.
Si la fenêtre que tu veux capturer fait partie de ton appliucation, tu peut lui ajouter un Listener (comme ca, a chaque fois qu'elle changer de dimmensions, de position , ...  comme tu veux, une nouvelle capture sera effectuée).
0
gizzmaille Messages postés 3 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 13 février 2008
13 févr. 2008 à 17:44
et non elle ne fait pas partie de mon appli :( d'ou mon problem

jai reussi a obtenir le resultat que je souhaiter  en faisant une simulation des touche "alt"+"impr ecran"
et réenregistrer l'image a partir du press-papier

mai je n'en suis pas vraiment "satisfait" de ce bricolage et de plus il provoc des ralentisements d'affichage a chaque capture
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
14 févr. 2008 à 03:33
Salut,

Peut-etre une alternative avec avec Capturino a lancer a partir de to appli.

Ou encore dans la rubrique  "sujets en rapport".

Cordialement.

...\ Dan /...
0
Rejoignez-nous