gpt4 book ai didi

c++ - MFC 7.0 C++ 如何从 CImage 获取 CBitmap

转载 作者:搜寻专家 更新时间:2023-10-31 01:11:10 29 4
gpt4 key购买 nike

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

问题是MSDN告诉我使用 CImage::m_hBitmap 从句柄生成一个 CBitmap。但不幸的是,CImage::m_hBitmapCImage 是私有(private)的。我是不是弄错了什么?

MSDN 代码摘录:

CImage image;
// Code to create load/create image goes here
// ...
CBitmap* pBitmap = CBitmap::FromHandle(image.m_hBitmap);

谢谢!

最佳答案

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

MFC 开发人员添加了运算符 HBITMAP,因此从 CImageHBITMAP 的转换无需用户干预即可完成。

在头文件 atlimage.h 中访问 m_hBitmap 的内联代码:

inline CImage::operator HBITMAP() const throw()
{
return (m_hBitmap);
}

为了使代码 image.m_hBitmap 必须仅替换为 image

CImage image;
// Code to create load/create image goes here
// ...
CBitmap* pBitmap = CBitmap::FromHandle(image);

就是这样。

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

关于c++ - MFC 7.0 C++ 如何从 CImage 获取 CBitmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15182971/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com