unsigned char* DecodeBMP(unsigned char*bmpFileData, int&width, int&height)
{
if (0x4D42==*((unsigned short*)bmpFileData))
{
int pixelDataOffset = ((int)(bmpFileData + 10));
width = ((int)(bmpFileData+18));
height = ((int)(bmpFileData + 22));
unsigned char*pixelData = bmpFileData + pixelDataOffset;
//bgr bgr bgr ....
//rgb rgb rgb
for (int i=0;i<width*height*3;i+=3)
{
unsigned char temp = pixelData[i];
pixelData[i] = pixelData[i+2];
pixelData[i+2]=temp;
}
return pixelData;
}
else
{
return nullptr;
}
}