Necesito tomar una serie de capturas de pantalla y concatenarlas en una película. Estoy tratando de usar la clase java Robot para capturar la pantalla.Java Robot createScreenCapture performance
Pero el método createScreenCapture() lleva más de 1 segundo en mi máquina. Ni siquiera puedo obtener 1 fps. ¿Hay alguna manera de acelerarlo? ¿O hay alguna otra API?
Editar: Se está asignando una imagen de búfer.
BufferedImage image = robot.createScreenCapture (pantalla); // Guarde la captura de pantalla como un jpg
Archivo file = new File ("images/screen" + index + ".jpg");
ImageIO.write (imagen, "jpg", archivo); index ++;
Escribirlo en el archivo jpg tarda unos 200 ms, mientras que obtener BufferedImage toma alrededor de 1400ms.
Sí 'createScreenCapture()' asigna una 'BufferedImage', y convierte todos los píxeles al formato 'INT_RGBA', que es lo que toma la mayor parte del tiempo. – finnw