Как сделать снимок экрана с указателем мыши на нем в Java - PullRequest
9 голосов
/ 03 июня 2010

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

Ответы [ 2 ]

18 голосов
/ 03 июня 2010

Это не возможно напрямую, но вы можете использовать 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"));
0 голосов
/ 12 декабря 2012

Вы можете использовать собственный доступ Java для динамического доступа к указателям / указателям мыши операционной системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...