Как прочитать пиксель за пределами экрана? - PullRequest
6 голосов
/ 13 декабря 2010

Я пытаюсь сделать простого бота для веб-игры, поэтому я хотел бы иметь возможность читать цвет пикселя на экране. Я сделал это на Windows с GetPixel (), но я не могу понять это на OS X. Я искал онлайн и наткнулся на glReadPixel. Когда я сделал простой инструмент командной строки в XCode, я добавил следующий код. Тем не менее, я не могу заставить его работать. Я получаю сообщение об ошибке EXC_BAD_ACCESS из этого:

GLfloat r;
glReadPixels(0, 0, 1, 1, GL_RED, GL_FLOAT, &r);

Я думал, что приведенный выше код сохранит значение красного пикселя в точке (0,0) в r. О, я хотел бы избежать использования снимка экрана, потому что это медленно. Любая помощь?

P.S. С помощью инструмента командной строки моей конечной целью является создание bash-скрипта или appleScript, поскольку у меня уже есть инструмент командной строки, который может щелкать по экрану.

1 Ответ

4 голосов
/ 14 декабря 2010

glReadPixels касается только чтения пикселя из буфера кадра (области, в которую рисует ваша видеокарта).

Чтение пикселей с «экрана» вообще не связано с OpenGL. Для этого вам нужны системные функции.

...