如何从屏幕上读取像素?
问题描述:
我想为网页游戏制作一个简单的机器人,所以我希望能够读取屏幕上像素的颜色。我使用GetPixel()在Windows上完成了这个工作,但是我似乎无法在OS X上找到它。我一直在网上查找并且遇到了glReadPixel。当我在XCode中制作一个简单的命令行工具时,我输入了下面的代码。但是,我似乎无法使其工作。我一直从该得到一个EXC_BAD_ACCESS错误:如何从屏幕上读取像素?
GLfloat r;
glReadPixels(0, 0, 1, 1, GL_RED, GL_FLOAT, &r);
我想上面的代码将存储像素的(0,0)的红色值成河哦,我想避免采取屏幕截图的方法,因为这很慢。任何帮助?
P.S.使用命令行工具,我的最终目标是创建一个bash脚本或一个applescript,因为我已经有了一个可以点击屏幕的命令行工具。
当你调用'glReadPixels()'时你有一个活动的OpenGL上下文吗? – genpfault 2010-12-13 05:18:02
没有。你能否指点我正确的方向? – hassaanm 2010-12-13 05:27:05
我希望活跃的OpenGL上下文成为主屏幕。 – hassaanm 2010-12-13 05:47:32