首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

显示位图有关问题,

2012-01-13 
显示位图问题,急!!!!!!!!!!BITMAPFILEHEADERbiiBITMAPINFObinnCFileopenfile(filepath,CFile::modeRead)

显示位图问题,急!!!!!!!!!!
BITMAPFILEHEADER   bii;
BITMAPINFO   binn;
CFile   openfile(filepath,CFile::modeRead);
openfile.Read(&bii,sizeof(BITMAPFILEHEADER));
openfile.Read(&binn,sizeof(BITMAPINFOHEADER));
LPBYTE   Dib;
Dib   =   (LPBYTE)&binn   +   sizeof(BITMAPINFOHEADER);
//Dib   =   Dib   +   sizeof(BITMAPFILEHEADER)   +   sizeof(BITMAPINFOHEADER);
StretchDIBits(dc-> GetSafeHdc(),rect.left,rect.top,rect.Width(),rect.Height(),100,100,((LPBITMAPINFOHEADER)Dib)-> biWidth,((LPBITMAPINFOHEADER)Dib)-> biHeight,Dib,(LPBITMAPINFO)Dib,DIB_RGB_COLORS,SRCCOPY);

其他地方的代码绝对没有问题,这里想显示,运行完说什么就是没有任何显示,请问我哪里出错了啊?

[解决办法]
楼上说得对,你根本没有读出位图数据,那怎么能显示呢
[解决办法]
给你提个建议:先把文件中的所有数据读到内存中,或者用内存映射文件,再来用结构化指针(位图头等)访问这些数据。
[解决办法]
没用过这个函数,但即然是BMP,可以用LoadImage()直接装入文件,不用你自己去读。

HBITMAP bitmap=(HBITMAP)LoadImage(NULL,_T( "c:\\test.BMP "),IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
CBitmap bmp;
bmp.Attach(bitmap))
CDC dcMemory;
CDC* pDC=GetDC();
dcMemory.CreateCompatibleDC(pDC);
dcMemory.SelectObject(&bmp);
pDC-> BitBlt(0,0,720,576,&dcMemory,0,0,SRCCOPY);
ReleaseDC(pDC);

热点排行