登录 注册
当前位置:主页 > 资源下载 > 50 > 在嵌入式系统编程的C/C++中,函数参数的说明

在嵌入式系统编程的C/C++中,函数参数的说明

  • 更新:2024-06-23 23:41:20
  • 大小:859KB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:嵌入式 - 硬件开发
  • 格式:PDF

资源介绍

3.1 函数的参数说明 该函数总共有七个参数。前四个参数可以得到一个矩形,该矩形所包括的像素都会被读取出来。 (第一、二个参数表示了矩形的左下角横、纵坐标,坐标以窗口最左下角为零,最右上角为最大 值;第三、四个参数表示了矩形的宽度和高度) 第五个参数表示读取的内容,例如:GL_RGB 就会依次读取像素的红、绿、蓝三种数据,GL_RGBA 则会依次读取像素的红、绿、蓝、alpha 四种数据,GL_RED 则只读取像素的红色数据(类似的还 有 GL_GREEN,GL_BLUE,以及 GL_ALPHA)。如果采用的不是 RGBA 颜色模式,而是采用颜 色索引模式,则也可以使用 GL_COLOR_INDEX 来读取像素的颜色索引。目前仅需要知道这些, 但实际上还可以读取其它内容,例如深度缓冲区的深度数据等。 第六个参数表示读取的内容保存到内存时所使用的格式,例如:GL_UNSIGNED_BYTE 会把各种 数据保存为 GLubyte,GL_FLOAT 会把各种数据保存为 GLfloat 等。 第七个参数表示一个指针,像素数据被读取后,将被保存到这个指针所表示的地址。注意,需要 保证该地址有足够的可以使用的空间,以容纳读取的像素数据。例如一幅大小为 256*256 的图象, 如果读取其 RGB 数据,且每一数据被保存为 GLubyte,总大小就是:256*256*3 = 196608 字节, 即 192 千字节。如果是读取 RGBA 数据,则总大小就是 256*256*4 = 262144 字节,即 256 千字节。 注意:glReadPixels 实际上是从缓冲区中读取数据,如果使用了双缓冲区,则默认是从正在显示的 缓冲(即前缓冲)中读取,而绘制工作是默认绘制到后缓冲区的。因此,如果需要读取已经绘制 好的像素,往往需要先交换前后缓冲。