实例源码如下:
比较简单,所以不加注释了!
- CClientDC dc(this);
- DWORD fileSize;
- CFile file;
- file.Open(CString("空之轨迹.bmp"),CFile::modeRead);
- fileSize=(DWORD)file.GetLength();
- BYTE *buf=new BYTE[fileSize];
- file.Read(buf,fileSize);
- file.Close();
- HBITMAP bmp;
- BITMAPFILEHEADER *pbmfh;
- pbmfh =(BITMAPFILEHEADER *)buf;
- bmp = CreateDIBitmap(dc,
- (BITMAPINFOHEADER *) (pbmfh + 1),
- CBM_INIT,
- (BYTE *) pbmfh + pbmfh->bfOffBits,
- (BITMAPINFO *) (pbmfh + 1),
- DIB_RGB_COLORS);
- BITMAPINFOHEADER *pbminfohead=(BITMAPINFOHEADER *) (pbmfh + 1);
- CDC bmpDC;
- bmpDC.CreateCompatibleDC(0);
- bmpDC.SelectObject(bmp);
- dc.BitBlt(0,0,pbminfohead->biWidth,pbminfohead->biHeight,&bmpDC,0,0,SRCCOPY);
- delete buf;