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