zoukankan      html  css  js  c++  java
  • 如何在VC中显示透明背景位图

    简单的调用系统API。

    Windows NT/2000/XP: Included in Windows 2000 and later.
    Windows 95/98/Me: Included in Windows 98 and later.
    Header: Declared in Wingdi.h; include Windows.h.
    Library: Use Msimg32.lib.

    void CTransparentBltTestDlg::OnPaint()
    {
    CPaintDC dc(this); // device context for painting

    CDialog::OnPaint();
    COLORREF crMask = RGB(0x00,0x00,0xff); // Mask color of bitmap
    BITMAP bm;
    m_bmp.GetBitmap(&bm);
    int nWidth = bm.bmWidth;
    int nHeight = bm.bmHeight;
    CDC ImageDC;
    ImageDC.CreateCompatibleDC(&dc);
    CBitmap *pOldImageBMP = ImageDC.SelectObject(&m_bmp);
    ::TransparentBlt(dc.m_hDC,50,40,nWidth,nHeight,ImageDC.m_hDC,0,0,nWidth,nHeight,crMask);
    ImageDC.SelectObject(pOldImageBMP);
    }
    }
    TransparentBlt
    The TransparentBlt function performs a bit-block transfer of the color data corresponding to a rectangle of pixels from the specified source device context into a destination device context.

    Parameters
    hdcDest
    [in] Handle to the destination device context.
    nXOriginDest
    [in] Specifies the x-coordinate, in logical units, of the upper-left corner of the destination rectangle.
    nYOriginDest
    [in] Specifies the y-coordinate, in logical units, of the upper-left corner of the destination rectangle.
    nWidthDest
    [in] Specifies the width, in logical units, of the destination rectangle.
    hHeightDest
    [in] Handle to the height, in logical units, of the destination rectangle.
    hdcSrc
    [in] Handle to the source device context.
    nXOriginSrc
    [in] Specifies the x-coordinate, in logical units, of the source rectangle.
    nYOriginSrc
    [in] Specifies the y-coordinate, in logical units, of the source rectangle.
    nWidthSrc
    [in] Specifies the width, in logical units, of the source rectangle.
    nHeightSrc
    [in] Specifies the height, in logical units, of the source rectangle.
    crTransparent
    [in] The RGB color in the source bitmap to treat as transparent.
    Return Values
    If the function succeeds, the return value is TRUE.
    If the function fails, the return value is FALSE.
    Windows NT/2000/XP: To get extended error information, call GetLastError .

    http://blog.csdn.net/harbinzju/article/details/5844798

  • 相关阅读:
    JAVA基础知识之多线程——线程通信
    为Apache配置虚拟机Virtual Host
    SignalR的坑爹细节
    ashx入侵
    aspnet5安装ef7备忘
    aspnet5备忘
    NHibernate初步使用
    MVC中发生System.Data.Entity.Validation.DbEntityValidationException验证异常的解决方法
    关于NLog的target和Layout
    泛型约束的大概模样
  • 原文地址:https://www.cnblogs.com/findumars/p/5460136.html
Copyright © 2011-2022 走看看