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;
       }
    }
  • 相关阅读:
    洛谷P1057 传球游戏
    洛谷 CF937A Olympiad
    洛谷P4057 晨跑
    New blog
    DHTMLX系列组件的学习笔记
    javascript学习笔记
    typeof 使用介绍
    tomcat启动后ids页面无法访问
    快捷键accesskey
    jquery回调函数callback的使用
  • 原文地址:https://www.cnblogs.com/BeyondTechnology/p/1878102.html
Copyright © 2011-2022 走看看