当前位置: 首页 > 面试题库 >

如何在Java中使用鼠标指针捕获屏幕图像

阎鹏
2023-03-14
问题内容

如何在Java中使用鼠标指针捕获屏幕图像?我知道可以使用Robot类捕获屏幕,但是它可以捕获没有鼠标指针的屏幕,因此这不是我的解决方案


问题答案:

这不是直接可能的,但是您可以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"));


 类似资料:
  • 我试图根据用户输入的坐标捕捉区域截图。基本上,用户在屏幕上点击得到x,y坐标,然后在其他地方点击另一对x,y坐标,然后将其放入一个矩形中,并使用机器人库创建屏幕截图。 我有的问题是,我得到了随机截图,这不是用户输入的坐标,我怎么能考虑包括0的坐标,因为矩形值必须超过1。 以下是我迄今为止的代码:

  • 问题内容: 我需要以某种方式捕获屏幕(作为打印屏幕),以便可以访问像素颜色数据,以进行一些图像识别,此后,我将需要在屏幕上生成鼠标事件,例如左键单击,拖放(移动鼠标)同时按下按钮,然后释放它)。完成后,图像将被删除。 注意:我需要捕获整个屏幕,用户可以看到所有内容,并且需要模拟程序窗口外的点击(如果有任何不同) 规格:Linux ubuntu语言:C ++ 性能不是很重要,“打印屏幕”功能将每隔1

  • 问题内容: 我目前正在使用Java中的Robot类来记录屏幕。但是,它不能达到每秒30帧的最小值。我不是在重新创建对象,而是尽我所能,但是我平均每秒只有15帧左右。机器人根本就没有切割它。 我可以用什么来捕捉屏幕?我已经尝试过Xuggle,但我似乎也无法足够快地捕获它。 问题答案: 对于遵循X11标准的操作系统(Linux,FreeBSD,Solaris等),我们可以通过JavaCV和FFmpeg

  • 本文向大家介绍java获取鼠标在屏幕上坐标的方法,包括了java获取鼠标在屏幕上坐标的方法的使用技巧和注意事项,需要的朋友参考一下 介绍 java作为目前最为流行的计算机开发语言之一,学习java是高薪就业的好选择,本文介绍的这个小工具主要是使用MouseInfo类实时获取鼠标的信息,然后再JDialog上显示出来。希望下面的内容介绍,能够让大家对于如何获取鼠标在屏幕上的坐标更加了解,一起来学习下

  • 我试图用selenium和Firefox捕获http://www.flipkart.com url的屏幕。 它拍摄整个页面的屏幕快照,但它显示的内页图像对许多其他图像不可用。我无法纠正它。帮帮我.

  • 问题内容: 根据这个(使用JavaScript在光标下找到一个单词d-under-cursor-using- javascript))链接我可以在鼠标[指针下得到一个单词。英语很好。我将其更改(对于阿拉伯语言) 但每个单词返回“ $ 1”。请帮忙! 问题答案: 您 需要 出现在原始正则表达式中的括号。在正则表达式中,括号形成一个“匹配组”,该替换组将替换字符串中的“ ”。 正则表达式中没有任何匹配