zoukankan      html  css  js  c++  java
  • How can I convert from GdiPlus::Image to CBitmap?

    Draw the image in a memory device context in which the CBitmap object is selected.
    Like in next example:

    Code:
    using namespace Gdiplus;
    Image* pImage = Image::FromFile(L"c:\\test.gif");
    Status status = pImage->GetLastStatus();
    if(Ok == status)
    {
       CDC dc;
       dc.CreateCompatibleDC(NULL);
       CBitmap bitmap;
       bitmap.CreateCompatibleBitmap(&dc, pImage->GetWidth(), pImage->GetHeight());
       CBitmap* pbmpOld = dc.SelectObject(&bitmap);

       Graphics graphics(dc.m_hDC);
       status = graphics.GetLastStatus();
       if(Ok == status)
       {
          graphics.DrawImage(pImage, 0, 0);
          // enjoy of bitmap;
       }
       dc.SelectObject(pbmpOld);
    }
    Much more easier is if you have Bitmap (Bitmap is derived from Image) that has GetHBITMAP method:
    Code:
    using namespace Gdiplus;
    Bitmap* pBitmap = Bitmap::FromFile(L"c:\\test.gif");
    Status status = pBitmap->GetLastStatus();
    if(Ok == status)
    {
       HBITMAP hBitmap = NULL;
       status = pBitmap->GetHBITMAP(Color(0,0,0), &hBitmap);
       if(Ok == status)
       {
          CBitmap bitmap;
          bitmap.Attach(hBitmap);
          // enjoy of bitmap;
       }
    }
  • 相关阅读:
    xpath教程-逐层检索和全局检索 转
    xpath教程-通过ID和Class检索 转
    minianaconda3安装
    爬取表情
    进程线程(转)
    centos 安装docker方法2
    关于Dockerfile
    根据指定规则生成游戏选项编码实战
    分布式对象存储 读书笔记
    muduo 的windows下的编译
  • 原文地址:https://www.cnblogs.com/BeyondTechnology/p/1878102.html
Copyright © 2011-2022 走看看