#include<gl/glut.h>
#define FileName "bliss.bmp"
static GLint imagewidth;
static GLint imageheight;
static GLint pixellength;
static GLubyte* pixeldata;
#include<stdio.h>
#include<stdlib.h>
void display(void)
{
//glClear(GL_COLOR_BUFFER_BIT);
//绘制像素
glDrawPixels(imagewidth,imageheight,GL_BGR_EXT,GL_UNSIGNED_BYTE,pixeldata);
//---------------------------------
glFlush();
glutSwapBuffers();
}
int main(int argc,char* argv[])
{
//打开文件
FILE* pfile=fopen("bliss.bmp","rb");
if(pfile == ) exit();
//读取图像大小
fseek(pfile,0x0012,SEEK_SET);
fread(&imagewidth,sizeof(imagewidth),,pfile);
fread(&imageheight,sizeof(imageheight),,pfile);
//计算像素数据长度
pixellength=imagewidth*;
while(pixellength% != )pixellength++;
pixellength *= imageheight;
//读取像素数据
pixeldata = (GLubyte*)malloc(pixellength);
if(pixeldata == ) exit();
fseek(pfile,,SEEK_SET);
fread(pixeldata,pixellength,,pfile); //关闭文件
fclose(pfile);
//初始化glut运行
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA);
glutInitWindowPosition(,);
glutInitWindowSize(imagewidth,imageheight);
glutCreateWindow(FileName);
glutDisplayFunc(&display);
glutMainLoop();
//-------------------------------------
free(pixeldata);
return ;
}

原文链接:opengl入门例题(读取bmp图片,并显示)

链接2:opengl下png图片的加载与显示

链接3:OpenGL加载与显示Targa位图文件

[转]opengl入门例题(读取bmp图片,并显示)的更多相关文章

  1. js读取本地图片并显示

    抄自 http://blog.csdn.net/qiulei_21/article/details/52785191 js读取本地图片并显示 第一种方法比较好 版权声明:本文为博主原创文章,未经博主允 ...

  2. OpenGL使用libPng读取png图片

    #include<stdarg.h> #include<png.h> #include<glut.h> #include<math.h> #includ ...

  3. 【转】 OpenGL使用libPng读取png图片

    觉得自己越来越无耻了呢?原文:http://laoyin.blog.51cto.com/4885213/895554 我复制到windows下也可以正常跑出来. #include<stdarg. ...

  4. 关于Opengl中将24位BMP图片加入�一个alpha通道并实现透明的问题

    #include <windows.h>#include <GL/glut.h>#include <GL/glaux.h>#include <stdio.h& ...

  5. 关于Opengl中将24位BMP图片加入一个alpha通道并实现透明的问题

    #include <windows.h>#include <GL/glut.h>#include <GL/glaux.h>#include <stdio.h& ...

  6. 读取bmp图片数据

    public void getBMPImage(String source) throws Exception { clearNData(); //清除数据保存区 FileInputStream fs ...

  7. delphi JPG或BMP图片透明显示

    procedure SaveBmpAsIcon(const Bmp: TBitmap; const Icon: string; const SmallIcon: Boolean; const Tran ...

  8. Springboot读取本地图片并显示

    在application.yml中配置url访问路径和本地图片路径: 方框1:url中访问路径,这里为:localhost:8080/testspringboot/image/... 方框2:本地图片 ...

  9. java 通过流的方式读取本地图片并显示在jsp 页面上(类型以jpg、png等结尾的图片)

    Java代码: File filePic = new File(path+"1-ab1.png"); if(filePic.exists()){ FileInputStream i ...

随机推荐

  1. WCF分布式开发常见错误解决(1):An error occurred while attempting to find services at...添加服务引用出错

          WCF分布式开发常见错误解决(1):An error occurred while attempting to find services at...添加服务引用出错   当我们在客户端添 ...

  2. Redis went away

    问题过程 输入法业务于12月12日上线词库推送业务,根据用户uuid(uuid平台校验)进行词库推送,在12月17日早上8点多开始出现大量的php报错(Redis went away),报错导致了大量 ...

  3. python学习之老男孩python全栈第九期_day004作业

    看代码写结果:1. a=[1,2,3,6,"dfs",100]s=a[-1:]print (s) 结果:[100] 2. s=a[-1:0:-1]print(s) 结果:[100, ...

  4. hightcharts 如何修改legend图例的样式

    正常情况下hightcharts 的legend图形是根据他本身默认的样式来显示,如下图 这几个图形的形状一般也是改不了的,只能根据图表的类型显示默认的.但是我们可以通过修改默认的样式来展示一些可以实 ...

  5. PHP文件上传,下载,Sql工具类!

    PHP文件上传,下载,Sql工具类! 对文件大小,文件类型 同名覆盖 中文转码的操作,可直接使用 前台 upload.html <!DOCTYPE html> <html> & ...

  6. 精选20个高品质的免费素材,可以下载PSD格式

    GraphicBurger 这个站点免费和收费的都有,注意区分 365psd 在日本比较有名的免费素材站. Pixeden Techandall Premium pixels 全部免费! Design ...

  7. Flask结合Redis消息队列实现电影弹幕

    用到的弹幕播放器插件:dplayer.js(开源) 1.安装Redis 2.安装flask-redis包 pip install flask-redis3.下载dplayer 页面搭建 1.引入资源 ...

  8. 解决stackoverflow打开缓慢的问题

    一.原因: 因为stackoverflow用的是谷歌的api,在国内谷歌是被禁用的,所以才会打开缓慢,并不是stackverflow被墙 二.解决方法: 1.如果你正在使用的是火狐浏览器,那么请按照下 ...

  9. 帆软发布大数据直连引擎FineDirect,对焦大数据BI

    摘要:近日,帆软官方正式发布大数据直连引擎FineDirect模块.通过该模块,企业在应用FineBI原有功能的基础上,可直接对接现有数据源,无论是传统的关系型数据库,还是Hadoop生态圈.Mpp构 ...

  10. Sql Server Express 2005提示"failed to generate a user instance of sql server "

    解决方法: 修改连接字符串“Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\mydb.mdf;Integrated Security ...