Simple comme l'indique le titre: pouvez-vous utiliser uniquement des commandes Java pour prendre une capture d'écran et l'enregistrer? Ou dois-je utiliser un programme spécifique au système d'exploitation pour prendre la capture d'écran, puis la récupérer dans le presse-papiers?
java
image
screenshot
jjnguy
la source
la source
Réponses:
Croyez-le ou non, vous pouvez en fait utiliser
java.awt.Robot
pour "créer une image contenant des pixels lus à l'écran". Vous pouvez ensuite écrire cette image dans un fichier sur le disque.Je viens de l'essayer, et le tout se termine comme:
REMARQUE: cela ne capturera que le moniteur principal. Voir GraphicsConfiguration pour la prise en charge de plusieurs moniteurs.
la source
Je n'ai jamais aimé utiliser Robot, j'ai donc créé ma propre méthode simple pour faire des captures d'écran d'objets JFrame:
la source
Robot
vous pouvez également obtenir le cadre et la barre de titre de la fenêtre.Si vous souhaitez capturer tous les moniteurs, vous pouvez utiliser le code suivant:
la source
la source
la source
bufferedImage contiendra une capture d'écran complète, cela a été testé avec trois moniteurs
la source
Vous pouvez utiliser
java.awt.Robot
pour accomplir cette tâche.ci-dessous se trouve le code du serveur, qui enregistre la capture d'écran capturée comme image dans votre annuaire.
Et c'est le code client qui s'exécute sur le thread et après quelques minutes, il capture la capture d'écran de l'écran de l'utilisateur.
la source
Toolkit renvoie des pixels basés sur PPI, par conséquent, une capture d'écran n'est pas créée pour tout l'écran lors de l'utilisation de PPI> 100% sous Windows. Je propose de faire ceci:
la source