¿Cómo capturar la imagen de la pantalla con el puntero del mouse sobre ella en Java? Sé que puedo capturar la pantalla con la clase Robot, pero captura la pantalla sin el puntero del mouse, por lo que esta no es una solución para mí.Cómo capturar la imagen de la pantalla con el puntero del mouse en Java
Respuesta
Eso no es directamente posible, pero puede usar MouseInfo#getPointerInfo()
para obtener información sobre dónde se encuentra actualmente el puntero.
int x = MouseInfo.getPointerInfo().getLocation().x;
int y = MouseInfo.getPointerInfo().getLocation().y;
Después de conseguir la captura de pantalla como BufferedImage
, puede colocar su propia imagen del cursor exactamente en esa ubicación en la pantalla con la ayuda de la API Java 2D.
Rectangle screen = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage screenCapture = new Robot().createScreenCapture(screen);
Image cursor = ImageIO.read(new File("c:/cursor.gif"));
int x = MouseInfo.getPointerInfo().getLocation().x;
int y = MouseInfo.getPointerInfo().getLocation().y;
Graphics2D graphics2D = screenCapture.createGraphics();
graphics2D.drawImage(cursor, x, y, 16, 16, null); // cursor.gif is 16x16 size.
ImageIO.write(screenCapture, "GIF", new File("c:/capture.gif"));
+1 ¡Prueba por contra-ejemplo! :-) – trashgod
Esto no guarda el cursor real, solo un cursor marcador de posición del archivo. Si mi cursor es diferente (cursor de mano, cursor de arrastre, cursores de cambio de tamaño, sin cursor en absoluto, paquete de cursores personalizado en el panel de control), se rompe. –
@ Zom-B: como respondieron, eso no es directamente posible. Así que esta es realmente su mejor opción, que debería ser suficiente si su único interés es la posición del cursor. Si conoce una solución mejor, no dude en publicarla :) – BalusC
Puede utilizar Java Native Access para acceder a sistemas operativos cursores de ratón/punteros específicos de forma dinámica.
¿Dónde puede solucionar este problema? ¿podría darnos más detalles sobre la solución? –
- 1. Cómo capturar la pantalla y el puntero del mouse con las API de Windows?
- 2. Linux, cómo capturar pantalla y simular movimientos del mouse
- 3. Cómo capturar la rueda del mouse en el panel?
- 4. Mover el puntero del mouse en la pantalla de Android programáticamente
- 5. Java encuentra la imagen en la pantalla
- 6. Haz que una imagen siga el puntero del mouse
- 7. Java - Desplazar imagen arrastrando el mouse
- 8. ¿Cómo puedo maximizar la ventana de WPF en la pantalla con el cursor del mouse?
- 9. ¿Cómo cambiar el puntero del mouse al puntero del dedo en el swing?
- 10. Cómo capturar la pantalla de pygame?
- 11. ¿Cómo capturar la pantalla seleccionada de otra aplicación usando java?
- 12. ¿Cómo se hace una imagen para seguir el puntero del mouse con jquery?
- 13. Mover el puntero del mouse en JavaScript
- 14. Cocoa: Obteniendo la posición actual del mouse en la pantalla
- 15. ¿Cómo obtener la posición del puntero del mouse con javascript para Internet Explorer?
- 16. capturar la captura de pantalla utilizando .NET
- 17. Mover el mouse de Java en cualquier lugar de la pantalla
- 18. Mover la imagen del enlace 5px al pasar el mouse
- 19. PHP: ¿Cómo capturar la pantalla de la ventana del navegador con php?
- 20. Seleccione un área para capturar usando el mouse
- 21. cambiar el buffer del mouse con java
- 22. X11: ¿Cómo agarro REALMENTE el puntero del mouse?
- 23. Pantalla GNU y VIM: ajuste del tamaño del búfer de la ventana dividida con el mouse
- 24. C++ - Cómo capturar la pantalla, excepto en algunas ventanas
- 25. Capturar la pantalla en un mapa de bits
- 26. ¿Cómo rotar la imagen en relación con la posición del mouse?
- 27. código de java para capturar la imagen por webcam UnsatisfiedLinkError
- 28. ¿Cómo configuro la posición del mouse en Java?
- 29. ¿Cómo me deshago del cursor del mouse en el modo exclusivo de pantalla completa?
- 30. Captura el movimiento del mouse y exporta a la imagen [código | aplicación]
¿Qué plataforma de host? – trashgod
Um, ¿te refieres a sistema operativo? Windows Vista. Esto importa? – solgar
Eso no debería importar. Java es plataforma independiente. – BalusC