首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MFC7.0 C++如何从CImage获取CBitmap

MFC7.0 C++如何从CImage获取CBitmap
EN

Stack Overflow用户
提问于 2013-03-03 14:07:37
回答 1查看 5.5K关注 0票数 2

我想知道如何在MFC代码中从CImage获取CBitmap。

问题是MSDN告诉我使用CImage::m_hBitmap从handle生成一个CBitmap。但不幸的是,CImage对CImage::m_hBitmap是私有的。我是不是搞错了?

代码摘录自MSDN:

代码语言:javascript
复制
CImage image;
// Code to create load/create image goes here
// ...
CBitmap* pBitmap = CBitmap::FromHandle(image.m_hBitmap);

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-03 14:20:40

要从m_hBitmap获取句柄,请直接使用CImage对象。MSDN的联机帮助似乎没有正确更新。

MFC开发人员已经添加了一个运算符HBITMAP,因此从CImage到HBITMAP的转换无需用户干预。

用于访问标题atlimage.h中的m_hBitmap的内联代码:

代码语言:javascript
复制
inline CImage::operator HBITMAP() const throw()
{
  return (m_hBitmap);
}

为了有一个可以工作的代码,必须只用图像替换imge.m_hBitmap

代码语言:javascript
复制
CImage image;
// Code to create load/create image goes here
// ...
CBitmap* pBitmap = CBitmap::FromHandle(image);

就这样。

编辑:我也找到了一个替代的解决方案,see here

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15182971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档