1
| | unsigned char* GLIMG::loadBmp(const char *fileName)
{
FILE *filePtr;
BITMAPFILEHEADER bHeader;
BITMAPINFOHEADER bInfoHeader;
if(!fileName)
return NULL;
if(!(filePtr = fopen(fileName, "rb")))
return NULL;
fread(&bHeader, sizeof(BITMAPFILEHEADER), 1, filePtr);
fread(&bInfoHeader, sizeof(BITMAPINFOHEADER), 1, filePtr);
if(bInfoHeader.biBitCount < 24)
return NULL;
if(bInfoHeader.biHeight == 128)
MessageBox(NULL, "128", NULL, MB_OK);
if(bInfoHeader.biWidth == 128)
MessageBox(NULL, "128", NULL, MB_OK);
DWORD imageSize = bHeader.bfSize - bHeader.bfOffBits;
pImageData = new unsigned char[imageSize];
if(pImageData){
fread(pImageData, 1, imageSize, filePtr);
fclose(filePtr);
return pImageData;
}
return NULL;
}
|