现在的位置: 首页 > 综合 > 正文

TransparentBlt 与AlphaBlend

2013年01月20日 ⁄ 综合 ⁄ 共 549字 ⁄ 字号 评论关闭

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);

 

 

抱歉!评论已关闭.