gpt4 book ai didi

java - 使用 Java Robots 类在屏幕上定位事物

转载 作者:搜寻专家 更新时间:2023-11-01 03:40:47 24 4
gpt4 key购买 nike

我想知道是否可以用这个类来定位文件或程序。我知道有一些方法可以使用鼠标坐标或简单地找到一个应用程序并运行它,但这不是我想要做的。

更清楚的例子是:假设我的桌面上有 Google Chrome、Firefox 和 Safari,我把它们到处乱放。我怎样才能让我的鼠标找到我正在寻找的浏览器,而不是简单地使用“运行应用程序”命令。

我希望澄清一下!感谢您的帮助 =)

最佳答案

最简单的方法(据我所知,使用 Robot)是记录构成你想要查找的东西的像素,然后逐个像素地寻找它(你可以将当前屏幕截图与存储在文件中的图像)。为此:

截取您要查找的图标并将其保存到文件(只需保存图标)(不是 .jpg,因为这不是无损的,可能只是 .bmp)。

然后你可以这样做:

Robot robot = new Robot();
BufferedImage current = robot.createScreenCapture(
new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));

static void getScreenStart()
{
BufferedImage icon = ImageIO.read(new File("chromeIcon.bmp"));
for (int x = 0; x < current.getWidth (); x++)
for (int y = 0; y < current.getHeight(); y++)
{
boolean matches = true;
for (int x2 = 0; x2 < icon.getWidth () && matches; x2++)
for (int y2 = 0; y2 < icon.getHeight() && matches; y2++)
if (icon.getRGB(x2, y2) != current.getRGB(x+x2, y+y2))
matches = false;
if (matches)
{
X_START = x;
Y_START = y;
return;
}
}
}

但通常尽可能避免这样做。

关于java - 使用 Java Robots 类在屏幕上定位事物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14962680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com