找到了一段代码,应该是用这种方法实现的.    maskDC = CreateCompatibleDC(0)   '1.建立单色mask DC
    maskBitmap = CreateBitmap(S_Width, S_Height, 1, 1, 0)
    SelectObject maskDC, maskBitmap
    
    SetBkColor foreDC, TransColor '2.把前景图的背景色设为透明色
    BitBlt maskDC, 0, 0, S_Width, S_Height, foreDC, 0, 0, SRCCOPY '3.copy前景图到单色DC得到mask    SetBkColor foreDC, RGB(0, 0, 0)   '4.把前景图与mask图作与运算
    SetTextColor foreDC, RGB(255, 255, 255)
    BitBlt foreDC, 0, 0, S_Width, S_Height, maskDC, 0, 0, SRCAND
    
    SetBkColor backDC, RGB(255, 255, 255)   '5.把背景图与mask图作与运算
    SetTextColor backDC, RGB(0, 0, 0)
    BitBlt backDC, 0, 0, S_Width, S_Height, maskDC, 0, 0, SRCAND
    
    '6.把前景图和背景图作或运算
    BitBlt backDC, 0, 0, S_Width, S_Height, foreDC, 0, 0, SRCPAINT
    
    BitBlt T_DC, T_X, T_Y, S_Width, S_Height, backDC, 0, 0, SRCCOPY
但还不是非常理解它,希望高手解释一下几者的关系.
像foreDC,搞了半天还是没弄懂到底应该放哪个
    Dim picture1 As New StdPicture'原始图片
    Dim picture2 As New StdPicture'水印图片
    Dim picture3 As New StdPicture'预留
    Dim picture4 As New StdPicture'预留或者谁有做过的,给个参考的过程..