怎样用BITBLT实现背景色透明的复制?

解决方案 »

  1.   

    如果用 Bitblt 的话则需要制作掩码图,如果你安装了 msdn 的话可以到
    C:\Program Files\Microsoft Visual Studio\MSDN98\98VS\2052\SAMPLES\VB98\Calldlls
    这个目录下面看看这个例子。
      

  2.   

    示例中的关键代码见:'现在执行 "透明" BitBlts:
    '1 复制原来的背景到精灵原来所处的位置
    '2 复制精灵将要到达处的背景
    '3 绘制掩饰
    '4 绘制精灵
    temp = BitBlt(hDC, X, Y, PicWidth, PicHeight, picCopy.hDC, 0, 0, SRCCOPY)
    temp = BitBlt(picCopy.hDC, 0, 0, PicWidth, PicHeight, hDC, NewX, NewY, SRCCOPY)
    temp = BitBlt(hDC, NewX, NewY, PicWidth, PicHeight, picMask.hDC, 0, 0, SRCAND)
    temp = BitBlt(hDC, NewX, NewY, PicWidth, PicHeight, picSprite.hDC, 0, 0, SRCINVERT)