我正在寻找一种独立于平台的方式来从屏幕读取颜色并通过鼠标和键盘操作模拟用户输入。我以前一直在使用java.awt.robot
,但是在过去的 2 年中,它开始在 OSX 中报告不正确的颜色(其他操作系统似乎获得了准确的颜色),如本问题所述。
我正在寻找解决此错误的方法或任何其他提供此功能的库/语言。
使用下面相当简单的代码可以证明这个问题。
public void printColorAtCoordinate(int x, int y)
{
Color color;
color = robot.getPixelColor(x, y);
System.out.println("RGB: " + Integer.toHexString(color.getRGB()));
}
它似乎使某些颜色正确,例如0x000000
, 0xffffff
, 0x0000ff
,0xff0000
但其他颜色则不正确,例如0x00ff00
,它报告为ff22ff00
(而不是ff00ff00
)。大多数颜色至少有少量偏差。