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;
       }
    }
  • 相关阅读:
    HDU1171(01背包均分问题)
    HDU2159(完全背包)
    HDU1203(01背包变形)
    DAG上的DP
    ADB命令小结
    HDU3065(AC自动机入门题)
    HDU2896(AC自动机入门题)
    性能测试监控分析(13)-sysstat安装升级
    tomcat(9)-linux apache tomcat集群环境搭建
    nginx(4)-负载均衡的5种策略及原理
  • 原文地址:https://www.cnblogs.com/BeyondTechnology/p/1878102.html
Copyright © 2011-2022 走看看