awtrobot читает неправильные цвета
Я ищу независимый от платформы способ считывать цвета с экрана и моделировать пользовательский ввод с помощью действий мыши и клавиатуры. Я ранее использовал 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
). Большинство цветов по меньшей мере на небольшое количество.