AlphaBlend實現透明效果,不過只能針對某塊區域進行alpha操作,透明度可設。
TransparentBlt可以針對某種顏色進行透明,不過透明度不可設。
AlphaBlend:
BLENDFUNCTION bn; bn.AlphaFormat = 0; bn.BlendFlags = 0; bn.BlendOp = AC_SRC_OVER; bn.SourceConstantAlpha = 0; //透明度設置,0爲不透明;255爲完全透明
AlphaBlend(hMemDC,0,385,320,95,hBackGroundDC,0,385,320,95,bn); |
bn.SourceConstantAlpha = 0: bn.SourceConstantAlpha = 100:
bn.SourceConstantAlpha = 255:
TransparentBlt:
TransparentBlt(hMemDC,10,0,296,20,hBarDCW,0,0,296,20,RGB(0,0,0));//指定RGB(0,0,0)透明
BitBlt(hMemDC, 10, 21, 296, 20, hBarDCW, 0, 0, SRCCOPY); |