zoukankan      html  css  js  c++  java
  • 双缓存图片显示常用函数01CreateMemSrcDC

    >>>改进:可以使用结构来返回多个返回值

    >> 方法1:

    CreateMemSrcDC 返回值 -----创建的内存DC

    HBITMAP &hBmp -----创建的内存DC选中的图片

    HBITMAP &hOldBmp -----创建的内存DC选中的图片前保存的图片

    m_hMemSrcDC = CreateMemSrcDC(m_hSrcBmp, m_hOldSrcBmp, pDC, sz.cx+2, sz.cy+2);

    HDC CLDCText30Control::CreateMemSrcDC(HBITMAP &hBmp, HBITMAP &hOldBmp, CDC * pDC, int width, int height)
    {
    CDC *pMemDC = new CDC;
    if (pMemDC->CreateCompatibleDC(pDC))
    {
    pMemDC->SetMapMode(pDC->GetMapMode());
    // create output bmp
    CBitmap *pBmp = new CBitmap();
    BOOL lg = pBmp->CreateCompatibleBitmap(pDC, width, height);
    hOldBmp = (HBITMAP)pMemDC->SelectObject(pBmp)->m_hObject;
    hBmp = (HBITMAP)pBmp->m_hObject;
    return pMemDC->m_hDC;
    }
    else
    {
    delete pMemDC;
    pMemDC=NULL;
    return 0;
    }
    }

    >>方法2:

     HDC  m_hBkPreCtrlMemDC;
     HBITMAP m_hBkPreCtrlBmp;
     HBITMAP m_hOldBmp;

    HDC CLDCControl50::CreateMemSrcDC(HDC hDC, int width, int height)
    {
    ReleaseMemSrcDC();

    m_hBkPreCtrlMemDC = ::CreateCompatibleDC(hDC);
    if (m_hBkPreCtrlMemDC)
    {
    ::SetMapMode(m_hBkPreCtrlMemDC, ::GetMapMode(hDC));
    // create output bmp
    m_hBkPreCtrlBmp = CreateCompatibleBitmap(hDC, width, height);
    m_hOldBmp = (HBITMAP)SelectObject(m_hBkPreCtrlMemDC, m_hBkPreCtrlBmp);
    return m_hBkPreCtrlMemDC;
    }
    return NULL;
    }

    void CLDCControl50::ReleaseMemSrcDC()
    {
    if (m_hOldBmp != NULL)
    {
    SelectObject(m_hBkPreCtrlMemDC, m_hOldBmp);
    m_hOldBmp = NULL;
    }

    if (m_hBkPreCtrlBmp != NULL)
    {
    DeleteObject(m_hBkPreCtrlBmp);
    }

    if (m_hBkPreCtrlMemDC != NULL)
    {
    DeleteDC(m_hBkPreCtrlMemDC);
    }
    }



  • 相关阅读:
    Unity3D之如何将包大小减少到极致
    3DMAX 如何将删去的面补回来
    3DMAX 7 角色建模1 人头建模
    Unity json
    unity资源管理
    unity 引入 android第三方sdk
    unity调用Android的jar包
    Unity3D游戏开发之Unity与Android交互调用研究
    unity3d easytouch教程
    Unity手游之路游戏摇杆之Easy Touch 3教程
  • 原文地址:https://www.cnblogs.com/carl2380/p/2317371.html
Copyright © 2011-2022 走看看