怎样在OpenGL程序中读取Jpg图象文件作为文理?

Researcher 2003-07-11 12:05:20
我只会读取bmp图片作为文理,可是Bmp图片实在太大了,而且从网上下载下来的绝大多数是jpg文件,要是能够读取jpg就好了.
下面是一段读取Bmp文件的程序,希望谁能帮我写一段读jpg文件的过程:
int ReadJpg24(char* filename,char *image24,int *width2,int *length2,int ALPHAFLAG)小弟定感激不尽

int ReadBitmap24(char* filename,char *image24,int *width2,int *length2,int ALPHAFLAG)
{ char *image;
FILE *fp;
if(fp=fopen(filename,"r"))
{ int width,length;
fseek(fp,18L,0);
fread(&width,4,1,fp);*width2=width;
//fseek(fp,22L,0);
fread(&length,4,1,fp);*length2=length;

image=new char[width*length*3];
fseek(fp,54L,0);
fread(image,1,width*length*3,fp);
fclose(fp);
//DibFile.Close();
long a;
if(ALPHAFLAG)
{ for(a=0;a<width*length;a++)
{ //DibFile.Read((LPVOID)Image[i],(UINT)128*128*3);
image24[4*a]=(GLubyte)image[a*3+2]; // R
image24[4*a+1]=(GLubyte)image[a*3+1]; // G
image24[4*a+2]=(GLubyte)image[a*3];
if(image[a*3+2]==0&&image[a*3+1]==0&&image[a*3]==0)image24[4*a+3]=0;
else image24[4*a+3]=(GLubyte)255;
//image24[4*a+3]=(GLubyte)255;
//image24[4*a+3]=(image24[4*a]<image24[4*a+1])?image24[4*a]:image24[4*a+1];
//if(image24[4*a+3]>image24[4*a+2])image24[4*a+3]=image24[4*a+2];
}
}else
for(a=0;a<width*length;a++)
{ image24[3*a]=image[a*3]; // R
image24[3*a+1]=image[a*3+1]; // G
image24[3*a+2]=image[a*3+2];
}
delete image;
return(1);
}else return(0);
}
...全文
1057 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjh1982 2004-03-05
  • 打赏
  • 举报
回复
www.codeproject.com
zzwu 2004-03-05
  • 打赏
  • 举报
回复
OpenGL 不支持除bmp以外的各种图像格式作为纹理,你必须先用其他语言将jpg或其他图像格式转换成bmp格式,然后才能被OpenGL利用。
uuq 2004-03-04
  • 打赏
  • 举报
回复
intel jpeg是不是只对intel芯片优化.
Researcher 2004-03-04
  • 打赏
  • 举报
回复
我到好几个网站下载了几个cximage,都是压缩文件,解压时都是png目录等出错,而这是最重要的一个目录,其他目录里的程序都要用到编译出来的一个.lib文件。谁给我发一个全的cximage定感激不尽。doom_1@163.com
yjh1982 2004-03-03
  • 打赏
  • 举报
回复
下载cximage库,那个库可以把各种图形文件转为DIB格式 .
wwwdfq1977 2004-03-03
  • 打赏
  • 举报
回复
nehe网站就有,另外推荐使用intel jpeg库,游戏中一般都使用这个库,,www.gameres.com中有使用intel jpeg库的文章
弟十六 2004-03-01
  • 打赏
  • 举报
回复
OGRE引擎里有现成的库引用,在Denpendencies里的il目录里有。
uuq 2004-02-28
  • 打赏
  • 举报
回复
找一个库吧
Researcher 2004-02-28
  • 打赏
  • 举报
回复
哪里下载?
sevencat 2004-02-27
  • 打赏
  • 举报
回复
jpeg lib v6b
最好的选择。
Researcher 2004-02-27
  • 打赏
  • 举报
回复
up
pingtai 2003-08-16
  • 打赏
  • 举报
回复
www.openglsource.com有源代码。
lxh49 2003-08-16
  • 打赏
  • 举报
回复
人民邮电出版社《数字图像处理》,《编解码技术》系列书中有这样的类和控件。
寻开心 2003-07-11
  • 打赏
  • 举报
回复
建议找一个支持JPEG等格式转换的解码工具库。
www.codeproject.com 上面的cximage这个免费库可以做到。

4,445

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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