首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从hdc获取位图?

如何从hdc获取位图?
EN

Stack Overflow用户
提问于 2022-01-26 16:25:33
回答 1查看 339关注 0票数 0

我可以像这样将hbitmap加载到hdc中:

代码语言:javascript
复制
        Gdiplus::Color Color{ 255, 255, 255 };
        hBitmap = NULL;
        Gdiplus::Bitmap* bitmap = Gdiplus::Bitmap::FromFile(L"home.png", false);
        if (bitmap)
        {
            bitmap->GetHBITMAP(Color, &hBitmap);
            delete bitmap;
        }

        BITMAP bm;
        GetObject(hBitmap, sizeof(bm), &bm);
        HDC hDCMem = CreateCompatibleDC(NULL);
        HBITMAP hBitmapOld = (HBITMAP)SelectObject(hDCMem, hBitmap);

我如何进行反向操作,返回加载到特定hdc中的位图

我首先需要检索hbitmap,然后从它检索bitmap?多么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-26 17:13:43

您可以使用GetCurrentObject()访问当前选择到HDC中的HBITMAP (和HPALETTE)。

或者,您可以创建一个新的维度和颜色深度的HBITMAP,将其放入一个新的内存HDC中,然后将源HDC放入其中。

无论哪种方式,一旦您有了一个HBITMAP,就可以使用Bitmap(HBITMAP, HPALETTE)构造函数或Bitmap::FromHBITMAP()方法从它创建一个新的Bitmap(HBITMAP, HPALETTE) Bitmap

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

https://stackoverflow.com/questions/70866834

复制
相关文章

相似问题

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