BITMAPFILEHEADER hdr;
LPBITMAPINFOHEADER lpbi;
if(!hDIB)
{
return FALSE;
}
CFile file;
if(!file.Open(szFile,CFile::modeWrite|CFile::modeCreate,NULL))
{
return FALSE;
} lpbi=(LPBITMAPINFOHEADER)hDIB;
int nColors=1<<lpbi->biBitCount; hdr.bfType=((WORD)('M'<<8)|'B');
hdr.bfSize=GlobalSize(hDIB)+sizeof(hdr);
hdr.bfReserved1=0;
hdr.bfReserved2=0;
hdr.bfOffBits=(DWORD)(sizeof(hdr)+lpbi->biSize+nColors*sizeof(RGBQUAD)); file.Write(&hdr,sizeof(hdr));
file.Write(lpbi,GlobalSize(hDIB)*100);--运行到这就不动了,好象是长度的问题,不过我不知道怎么改,请帮忙,谢谢
file.Close();