我是openGl的新手,我有一个任务将帧缓冲区(opengl离屏渲染数据)写入JPG或Bmp图像。如何将帧缓冲区数据写入JPEG或BMP图像
我谷歌,但无法找到合适的解决方案...
我曾尝试下面的代码,但结果是不支持的file.I可能无法打开该文件。
FILE *Out;
unsigned char *Buff;
// Capture a screen shot. Save as a RAW-format file.
// First, allocate memory.
Buff = new unsigned char[512*512*3];
// Now, get pixels.
glReadBuffer(GL_BACK);
glReadPixels(0,0, 512, 512, GL_RGB, GL_UNSIGNED_BYTE, Buff);
// Now, open to file and write pixels.
Out = fopen(Filename, "wb");
if(!Out) return;
fwrite(Buff, 3, 512*512, Out);
fclose(Out);
delete[] Buff;
这里我用的原始文件,但我想要的是JPEG或BMP文件。
使用图像加载/书写库,jpeg是一个复杂的格式来创建一个文件作者。 –