|
|
发表于 2006-7-27 22:47:00
|
显示全部楼层
Re:谁能贴个读写像素的例子?
哈.上上Q也不错的哦,可以找到很多网友交流交流.
读去 OpenGL 像素,
1> 你要确定你的窗口绘制大小.这里比方说是: width, height.
2> 建立一个内存空间,用来存放 OpenGL 缓存颜色数据.
代码: unsigned char *men;
men = new unsigned char[width*height*3];
3> 拷贝OpenGL 像素进 men 指针空间里.
代码: glReadPixels( 0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, men);
glReadPixels ()的使用再具体的话,你可以在国外资料中找找看.
这里只是举个例子,我想已经足够理解了.哈哈
那么,接下来的问题就是,怎么操作这个 men 了,
那我再举个例子,这里我要读屏幕中 x,y 位置的颜色,在 men 的哪里呢?
我们这样定义一个颜色结构体:
struct strRGB{
unsigned char R;
unsigned char G;
unsigned char B;
};
strRGB* pt;
pt = (strRGB *)(men+ 3*(x*width + y));
那么颜色就是
pt->R;
pt->G;
pt->B;
那随便你读取了.就这样. |
|