Simple como dice el título: ¿Puedes usar solo comandos Java para tomar una captura de pantalla y guardarla? ¿O necesito usar un programa específico del sistema operativo para tomar la captura de pantalla y luego tomarla del portapapeles?
java
image
screenshot
jjnguy
fuente
fuente
Respuestas:
Lo creas o no, en realidad puedes usarlo
java.awt.Robot
para "crear una imagen que contenga píxeles leídos desde la pantalla". Luego puede escribir esa imagen en un archivo en el disco.Acabo de intentarlo, y todo termina así:
NOTA: Esto solo capturará el monitor primario. Vea GraphicsConfiguration para soporte de monitores múltiples.
fuente
Nunca me gustó usar Robot, así que hice mi propio método simple para hacer capturas de pantalla de objetos JFrame:
fuente
Robot
usted también puede obtener el marco de la ventana y la barra de título.Si desea capturar todos los monitores, puede usar el siguiente código:
fuente
fuente
fuente
bufferedImage contendrá una captura de pantalla completa, esto se probó con tres monitores
fuente
Puedes usar
java.awt.Robot
para lograr esta tarea.a continuación se muestra el código del servidor, que guarda la captura de pantalla capturada como imagen en su Directorio.
Y este es el código del Cliente que se ejecuta en el hilo y después de unos minutos captura la captura de pantalla de la pantalla del usuario.
fuente
Toolkit devuelve píxeles basados en PPI, como resultado, no se crea una captura de pantalla para toda la pantalla cuando se utiliza PPI> 100% en Windows. Propongo hacer esto:
fuente