mfc 显示位图

从资源中加载是:
    CBitmap bmp;
    bmp.LoadBitmap(IDB_BITMAP1)

从文件中加载是,注意加载的是位图即bmp文件。
    CBitmap bitmap;
    bitmap.m_hObject=(HBITMAP)::LoadImage(NULL,"test.bmp",IMAGE_BITMAP,500,400,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
这里需要注意的是从文件加载位图,并不是通过调用CBitmap的成员函数完成。
而是使用SDK函数LoadImage,通过将其返回值赋值给CBitmap的成员变量m_hObject而完成对CBitmap的对象的赋值过程。

此处的强制类型可以不使用,使用是强调的意思。

 

可以把图像文件中的图像内容加载到CBitmap类中。支持格式:BMP、JPG、GIF和PNG。

  CImage imgTemp;
  imgTemp.Load(strFilePath);
  if ( pBitmap->m_hObject ) pBitmap->Detach();
  pBitmap->Attach(imgTemp.Detach());

 

 但是在vc6中没有CImage这个类,在NET2005+平台中的c++有。使用这个类首先要在stdafx.h中添加 #include <atlimage.h>。

 

如果用stretchBlt,当目的区域比源区域小的时候,看起来会感觉明显的失真。要比过大的失真程度明显


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值