VC小技巧:窗体中显示bmp图象

本文介绍如何在Visual C++中加载并显示BMP格式的图像。通过在SDI应用程序中利用GDI函数实现图像显示,包括创建内存设备上下文、选择位图对象等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虽然在高手看来这是垃圾问题,但对于我们这些菜鸟,这是很必须的.因为高手很不屑写这些的,我刚刚学会,为了挽救普天之下和我一样的菜鸟们,就写了这样一篇文章。
  在vc中显示BMP并不象VB那么简单,用个loadpicture,什么格式全部ok,在vc中又需要做一些额外工作.我们用 SDI作示范。
  新建一个SDI的工程,所有都是默认.打开资源编辑器,右键,import 选择图片导入.使用默认的ID,不要尝试去编辑他,因为他的颜色超过了256.在OnDraw函数中添加如下代码:

  CDC memDC;//内存设备场景
  CBitmap cb;//位图类对象
  CRect rect;
  GetWindowRect(&rect);
  cb.LoadBitmap (IDB_BITMAP1);//载入资源
  memDC.CreateCompatibleDC (pDC);//创建内存设备上下文
  CBitmap *oldbitmap=NULL;
  oldbitmap=memDC.SelectObject (&cb);//将位图选入当前设备场景
  pDC->BitBlt (0,0,rect.Width (),rect.Height (),&memDC,0,0,SRCCOPY);//将内存场景的图象拷贝到屏幕上
  memDC.SelectObject (oldbitmap);
  这样就完成了, 其实不难理解,同一般的GDI作图是一样的原理.

本文转自
http://www.enadd.com/appdev/vc/window/200611/appdev_14212.html
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值