Как получить отображаемое изображение с указателем мыши на нем в Java

Как получить отображаемое изображение с указателем мыши на нем в Java? В знают, что я могу получить экран с классом Робота, но он получает экран без указателя мыши на нем, таким образом, это не решение для меня.

9
задан solgar 2 June 2010 в 23:09
поделиться

1 ответ

Это невозможно напрямую, но вы можете использовать MouseInfo # getPointerInfo () , чтобы получить информацию о том, где в данный момент находится указатель.

int x = MouseInfo.getPointerInfo().getLocation().x;
int y = MouseInfo.getPointerInfo().getLocation().y;

Получив снимок экрана как 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"));
19
ответ дан 4 December 2019 в 11:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: