我想知道如何在MFC代码中从CImage获取CBitmap。
问题是MSDN告诉我使用CImage::m_hBitmap从handle生成一个CBitmap。但不幸的是,CImage对CImage::m_hBitmap是私有的。我是不是搞错了?
代码摘录自MSDN:
CImage image;
// Code to create load/create image goes here
// ...
CBitmap* pBitmap = CBitmap::FromHandle(image.m_hBitmap);谢谢!
发布于 2013-03-03 14:20:40
要从m_hBitmap获取句柄,请直接使用CImage对象。MSDN的联机帮助似乎没有正确更新。
MFC开发人员已经添加了一个运算符HBITMAP,因此从CImage到HBITMAP的转换无需用户干预。
用于访问标题atlimage.h中的m_hBitmap的内联代码:
inline CImage::operator HBITMAP() const throw()
{
return (m_hBitmap);
}为了有一个可以工作的代码,必须只用图像替换imge.m_hBitmap。
CImage image;
// Code to create load/create image goes here
// ...
CBitmap* pBitmap = CBitmap::FromHandle(image);就这样。
编辑:我也找到了一个替代的解决方案,see here。
https://stackoverflow.com/questions/15182971
复制相似问题