如何把位图读入内存中并显示?实现从打包文件中读取bmp文件并显示!

实例源码如下:

比较简单,所以不加注释了!

  1. CClientDC dc(this);
  2.     DWORD fileSize;
  3.     CFile file;
  4.     file.Open(CString("空之轨迹.bmp"),CFile::modeRead);
  5.     fileSize=(DWORD)file.GetLength();
  6.     BYTE *buf=new BYTE[fileSize];
  7.     file.Read(buf,fileSize);
  8.     file.Close();
  9.     HBITMAP bmp;
  10.     BITMAPFILEHEADER *pbmfh;
  11.     pbmfh =(BITMAPFILEHEADER *)buf;
  12.     bmp = CreateDIBitmap(dc,
  13.         (BITMAPINFOHEADER *) (pbmfh + 1),
  14.         CBM_INIT,
  15.         (BYTE *) pbmfh + pbmfh->bfOffBits,
  16.         (BITMAPINFO *) (pbmfh + 1),
  17.         DIB_RGB_COLORS);
  18.     BITMAPINFOHEADER *pbminfohead=(BITMAPINFOHEADER *) (pbmfh + 1);
  19.     CDC bmpDC;
  20.     bmpDC.CreateCompatibleDC(0);
  21.     bmpDC.SelectObject(bmp);
  22.     dc.BitBlt(0,0,pbminfohead->biWidth,pbminfohead->biHeight,&bmpDC,0,0,SRCCOPY);
  23.     delete buf;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值