VC中怎样调用OPENGL,让图像显示在对话框中

jilinbeihai 2010-06-20 11:38:56
我在做图像压缩与传输,但是由于显示速度过慢,所以影响下位机的处理,看到网上推荐使用opengl快速显示位图,请详细说一下实现步骤,要包括各个头文件的说明,代码写在哪或是创建什么消息响应函数来实现的。课题任务急,我又是个初学者,谢谢各位了!
...全文
144 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jilinbeihai 2010-06-20
  • 打赏
  • 举报
回复
kingbyangl,我的邮箱是zwxb@sina.com,你说的贴图是指用glCopyPixels么
jilinbeihai 2010-06-20
  • 打赏
  • 举报
回复
多谢kingbyangl,我用opengl是不是会比在MFC下直接调用bitblt速度快些
VR_Lab 2010-06-20
  • 打赏
  • 举报
回复
画图的话直接贴图就可以了,坐标方面要设置好视口,投影方式。我写了GL窗口类,等我上班的时候可以传给你
jilinbeihai 2010-06-20
  • 打赏
  • 举报
回复
我想把图像放在对话框上,怎么获得绘图区,坐标怎么设置?
sandylauous 2010-06-20
  • 打赏
  • 举报
回复

//显示位图

// 文件名
char filename[256]="";
pFile = fopen(filename, "rb");
if( pFile == 0 )
exit(0);

fseek(pFile, 0x0012, SEEK_SET);
fread(&ImageWidth, sizeof(ImageWidth), 1, pFile);
fread(&ImageHeight, sizeof(ImageHeight), 1, pFile);


PixelLength = ImageWidth * 3;
while( PixelLength % 4 != 0 )
++PixelLength;
PixelLength *= ImageHeight;

PixelData = (GLubyte*)malloc(PixelLength);
if( PixelData == 0 )
exit(0);

fseek(pFile, 54, SEEK_SET);
fread(PixelData, PixelLength, 1, pFile);

fclose(pFile);

glRasterPos2i(6000,-2000);

glDrawPixels(ImageWidth, ImageHeight, GL_BGR_EXT, GL_UNSIGNED_BYTE, PixelData);

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧