sol*_*gar 9 java screen capture
如何用Java上的鼠标指针捕获屏幕图像?知道我可以使用Robot类捕获屏幕,但它捕获屏幕而没有鼠标指针,所以这不是我的解决方案.
Bal*_*usC 19
这不是直接可能的,但您可以使用MouseInfo#getPointerInfo()获取指针当前所在位置的信息.
int x = MouseInfo.getPointerInfo().getLocation().x;
int y = MouseInfo.getPointerInfo().getLocation().y;
Run Code Online (Sandbox Code Playgroud)
获取屏幕截图后BufferedImage,您可以借助Java 2D API将自己的光标图像放在屏幕截图的确切位置.
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"));
Run Code Online (Sandbox Code Playgroud)