# GLES2.0中文API-glReadPixels ## 名称 glReadPixels - 从帧缓冲区中读取一个像素块 ## C规范 void **glReadPixels**(GLint *x*, ​ GLint *y*, ​ GLsizei *width*, ​ GLsizei *height*, ​ GLenum *format*, ​ GLenum *type*, ​ GLvoid * *data*); ## 参数 *x,y* 指定从帧缓冲区读取的第一个像素的窗口坐标。 此位置是矩形像素块的**左下角**。 *width,height* 指定像素矩形的尺寸。 一个宽度和高度对应于单个像素。 *format* 指定像素数据的格式。 接受以下符号值:**GL_ALPHA**,**GL_RGB**和**GL_RGBA**。 *type* 指定像素数据的数据类型。 必须是**GL_UNSIGNED_BYTE**,**GL_UNSIGNED_SHORT_5_6_5**,**GL_UNSIGNED_SHORT_4_4_4_4**或**GL_UNSIGNED_SHORT_5_5_5_1**之一。 *data* 返回像素数据。 ## 描述 **glReadPixels**从帧缓冲区返回像素数据,从左下角位于(*x,y*)的像素开始,从位置*data*开始返回客户端内存。使用[glPixelStorei](https://blog.csdn.net/flycatdeng/article/details/82667285)命令设置的**GL_PACK_ALIGNMENT**参数会影响像素数据在放入客户端内存之前的处理。 **glReadPixels**返回每个像素的值,左下角为x + i y + j,0 <= i