# include & ltGL/glut . h & gt;
#定義文件名“io.bmp”
靜態閃爍圖像寬度;
靜態閃爍圖像高度;
靜態閃爍像素長度;
靜態GLubyte * pixeldata
# include & ltstdio.h & gt
# include & ltstdlib.h & gt
空顯示(空)
{
//GL clear(GL _ COLOR _ BUFFER _ BIT);
//繪制像素
glDrawPixels(imagewidth,imageheight,GL_BGR_EXT,GL _無符號_字節,pixel data);
// -
GL flush();
glutSwapBuffers();
}
int main(int argc,char* argv[])
{
//auxInitDisplayMode(AUX _ SINGLE | AUX _ INDEX);
//auxInitPosition(0,0,700,700);//窗口位置、大小
//auxInitWindow(L " ");
//打開文件
FILE * pfile
fopen _ s(& amp;pfile," io.bmp "," Rb ");
if(pfile = = 0)exit(0);
//讀取圖像大小
fseek(pfile,0x0012,SEEK _ SET);
弗雷德(& ampimagewidth,sizeof(imagewidth),1,pfile);
弗雷德(& ampimageheight,sizeof(imageheight),1,pfile);
//計算像素數據長度
pixellength = image width * 3;
while (pixellength % 4!= 0)pixel length++;
pixellength * = imageheight
//讀取像素數據
pixel data =(Glu byte *)malloc(pixel length);
if(pixel data = = 0)exit(0);
fseek(pfile,54,SEEK _ SET);
fread(pixeldata,pixellength,1,pfile);
//關閉文件
fclose(pfile);
//初始化glut操作
明膠(& ampargc,argv);
glutInitDisplayMode(GLUT _ DOUBLE | GLUT _ RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(imagewidth,image height);
glutCreateWindow(文件名);
glutDisplayFunc(& amp;展示);
glutMainLoop();
// -
免費(pixel data);
返回0;
}