标题:[求助]请教一个位图纹理的问题
取消只看楼主
zhipeng0117
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2005-9-15
 问题点数:0 回复次数:0 
[求助]请教一个位图纹理的问题
程序中要用到位图作为OpenGL纹理,只要有其中的位图数据就行,定义了一个函数
BYTE* GetBMPBits(LPCTSTR Resource, int* nWidth, int* nHeight)
{
BITMAPFILEHEADER bmHeader;
FILE* file = fopen(Resource, "r");

fread(&bmHeader, sizeof(BITMAPFILEHEADER), 1, file);
fseek(file, sizeof(BITMAPFILEHEADER)+4, SEEK_SET);
fread(nWidth, 4, 1, file);
fread(nHeight, 4, 1, file);
int nBits = bmHeader.bfSize - bmHeader.bfOffBits;
BYTE* Bytes = new BYTE[nBits];
fseek(file, bmHeader.bfOffBits, SEEK_SET);
fread(Bytes, nBits, 1, file);
return Bytes;
}
另一个函数中调用是这样的
{。。。。。。
pBytes = GetBMPBits("res\\EARTH.BMP", &nWidth, &nHeight);
。。。。。。
delete pBytes;
}
编译运行正常,但是直接从debug目录运行exe会出错,我试着把这两个函数删掉就没事了,我想可能是Bytes或pBytes的问题,上面的函数该怎么修改呢?
搜索更多相关主题的帖子: 位图 纹理 
2006-09-13 20:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-90006-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.325246 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved