您的位置:首页 > 其它

AlphaBlend与TransparentBlt能组合使用么?

2017-01-18 22:37 239 查看
如题,下面的就是代码了,TransparentBlt能使图片一个色透明,而AlphaBlend能使整个图片半透明,但就是想不出怎么一起使用,还是,这方法是不可能实现的?最好高手们用一个图片做一个实例出来,嗯,这样比较容易明白吧。 

CDC m_cdc; 

CBitmap m_bitmap; 

CDC *pwnd = GetDC(); 

BLENDFUNCTION bl; 

bl.BlendOp=AC_SRC_OVER; 

bl.BlendFlags=0; 

bl.AlphaFormat=0; 

bl.SourceConstantAlpha=0; 

m_cdc.CreateCompatibleDC(pwnd); 

CDC m_cdc2; 

CBitmap m_bitmap2; 

m_cdc2.CreateCompatibleDC(pwnd); 

m_bitmap2.LoadBitmap(IDB_TRUE4); 

CBitmap *oldbitmap2 = m_cdc2.SelectObject(&m_bitmap2); 

//pwnd->BitBlt(0,0,150,150,&m_cdc2,0,0,SRCCOPY); 

//TransparentBlt(pwnd->m_hDC,50,50,150,150,m_cdc2,0,0,150,150,RGB(255,0,0));//=============这个能使图片的一个颜色透明 

AlphaBlend(pwnd->m_hDC,50,50,150,150,m_cdc2,0,0,150,150,bl);//=============这个能使图半透明 

m_cdc2.SelectObject(oldbitmap2);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: