awtrobot读取错误的颜色

我正在寻找一种独立于平台的方法来从屏幕上读取颜色,并通过鼠标和键盘操作模拟用户输入。 我以前一直在使用java.awt.robot ,但是在过去的两年中它已经开始在OSX中报告错误的颜色(其他操作系统似乎得到准确的颜色),如本问题所述 。

我正在寻找这个bug的解决方法或任何其他将提供此function的库/语言。

使用下面相当简单的代码可以certificate这个问题。

 public void printColorAtCoordinate(int x, int y) { Color color; color = robot.getPixelColor(x, y); System.out.println("RGB: " + Integer.toHexString(color.getRGB())); } 

它似乎得到了一些正确的颜色,例如0x0000000x0000ff0xff0000但不是其他如0x00ff00 ,它报告为ff22ff00 (而不是ff00ff00 )。 大多数颜色至少少量。