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);
    }
    }



  • 相关阅读:
    用js实现 全选功能(Gridview)
    图片 加文字水印或者图片水印
    Gridview中RowCommand事件的应用
    图片噪点的产生
    DataList实现折叠效果
    利用Request对象的CurrentExecutionFilePath做分页
    利用分页控件AspNetPager来做数据的分页
    log4Net一些记忆性总结
    彩色验证码
    组织机构设计器窗体基类 代码分析
  • 原文地址:https://www.cnblogs.com/carl2380/p/2317371.html
Copyright © 2011-2022 走看看