找到了一段代码,应该是用这种方法实现的. 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'预留或者谁有做过的,给个参考的过程..
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'预留或者谁有做过的,给个参考的过程..
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货