打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CBitmap和HBITMAP的区别及相互转换方法
 

hbitmap是bitmap的指针,

msdn中:Handle to a bitmap.typedef HANDLE HBITMAP;

cbitmap是mfc中封装bitmap的类;

msdn中:Encapsulates(囊括) a Windows graphics device interface (GDI)bitmap and provides member functions to manipulate(操作) the bitmap.

class CBitmap : public CgdiObject 

 转化方法两种,Attach和FromHandle:

 

1 CBitmap bmp;
2 bmp.LoadBitmap(IDB_BITMAP1);
3 HBITMAP hbm = (HBITMAP)bmp;
4 CBitmap bmp1;
5 bmp1.Attach(hbm);
6
7 HBITMAP = CBitmap.m_hObject
8 CBitmap* = CBitmap.FromHandle(HBITMAP)
9
10  //已知HBITMAP hbit;
11  CBitmap cb;
12 cb.FromHandle(hbit);
13
14  //已知CBitmap cb;
15  HBITMAP hbit=(HBITMAP)cb;
16
17 CBitmap bmp;
18 HBITMAP hBmp;
19  //相互转换:
20  hBmp=(HBITMAP)bmp.GetSafeHandle();
21 bmp.Attach(hBmp);

 

注意点:

Attach和FromHandle的区别

FromHandle得到的指针是临时变量,

,通过Attach连接的句柄可以长久保留,但通过FromHandle得到的只是暂时的,

大概只在一个消息区间内有效,很快便会被删除,所以基本上不能用。

我用了FromHandle然后一直出错!!!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Bitmap与IplImage之间的转换
Bitmap、CBitmap、HBITMAP以及BITMAP的相互转换
CreateCompatibleBitmap - fengqing888的日志 - 网易博...
关于CBitmap,LoadBitmap 的使用
VC中CDC与HDC的区别以及二者之间的转换
CreateCompatibleDC,CreateCompatibleBitmap,SelectObject详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服