初始化这个结构的时候,大小到底是什么啊??
BITMAPINFO *m_pBmpInfo; //BITMAPINFO 结构指针,显示图像时使用
char m_chBmpBuf[2048]; //问题就在这里啊...初始化 BITMAPINFO,下面有两种方法,但是大小不一样,m_chBmpBuf 是 2048 的 char,而 sizeof(BITMAPINFO))返回的结果是 44
//为什么差这么远??对以后位图的显示有啥影响????
m_pBmpInfo = (BITMAPINFO *)m_chBmpBuf;
//m_pBmpInfo = (BITMAPINFO*)malloc(sizeof(BITMAPINFO)); m_pBmpInfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
m_pBmpInfo->bmiHeader.biWidth = Width;
m_pBmpInfo->bmiHeader.biHeight = Height;
m_pBmpInfo->bmiHeader.biPlanes = 1;
m_pBmpInfo->bmiHeader.biBitCount = 24;
m_pBmpInfo->bmiHeader.biCompression = BI_RGB;
m_pBmpInfo->bmiHeader.biSizeImage = 0;
m_pBmpInfo->bmiHeader.biXPelsPerMeter = 0;
m_pBmpInfo->bmiHeader.biYPelsPerMeter = 0;
m_pBmpInfo->bmiHeader.biClrUsed = 0;
m_pBmpInfo->bmiHeader.biClrImportant = 0;
BITMAPINFO *m_pBmpInfo; //BITMAPINFO 结构指针,显示图像时使用
char m_chBmpBuf[2048]; //问题就在这里啊...初始化 BITMAPINFO,下面有两种方法,但是大小不一样,m_chBmpBuf 是 2048 的 char,而 sizeof(BITMAPINFO))返回的结果是 44
//为什么差这么远??对以后位图的显示有啥影响????
m_pBmpInfo = (BITMAPINFO *)m_chBmpBuf;
//m_pBmpInfo = (BITMAPINFO*)malloc(sizeof(BITMAPINFO)); m_pBmpInfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
m_pBmpInfo->bmiHeader.biWidth = Width;
m_pBmpInfo->bmiHeader.biHeight = Height;
m_pBmpInfo->bmiHeader.biPlanes = 1;
m_pBmpInfo->bmiHeader.biBitCount = 24;
m_pBmpInfo->bmiHeader.biCompression = BI_RGB;
m_pBmpInfo->bmiHeader.biSizeImage = 0;
m_pBmpInfo->bmiHeader.biXPelsPerMeter = 0;
m_pBmpInfo->bmiHeader.biYPelsPerMeter = 0;
m_pBmpInfo->bmiHeader.biClrUsed = 0;
m_pBmpInfo->bmiHeader.biClrImportant = 0;
你要干嘛,没什么关系,就是费内存而已;