首页 > 解决方案 > 如何从 openGL 屏幕获取位图标题?(视频截取)

问题描述

我正在为我的项目使用 GLUT 和 GLEW(使用 C++)。所以我想做的是从opengl屏幕捕获视频(基本上我正在加载.obj模型并旋转它们)。

现在我用 glReadPixels 获取每一帧,然后我想使用这个类:https ://www.codeproject.com/Articles/1418/A-class-to-easily-generate-AVI-video-with- OpenGL-a

我找不到 GetActiveView() 函数。据我了解,我需要使用 SetBitmapHeader() 函数,所以我需要一个 LPBITMAPINFOHEADER 结构。据说我可能必须填写此结构中的属性

typedef struct tagBITMAPINFOHEADER{
    DWORD biSize; 
    LONG biWidth; 
    LONG biHeight; 
    WORD biPlanes; 
    WORD biBitCount; 
    DWORD biCompression; 
    DWORD biSizeImage; 
    LONG biXPelsPerMeter; 
    LONG biYPelsPerMeter; 
    DWORD biClrUsed; 
    DWORD biClrImportant; 
} BITMAPINFOHEADER, *PBITMAPINFOHEADER; 

但我不知道从哪里获取信息。我想将每一帧保存为 bmp(实际上是 DIB)并尝试从那里获取标题并不是最好的方法......

我真的很感激这方面的任何帮助!

标签: c++openglbitmapvideo-capturefreeglut

解决方案


推荐阅读