2、在于把临时位图的数据和原位图做混合,而且不能改变镂空部分原位图的alpha通道,比如被DrawText修改过的镂空部分
步骤:
1.创建临时位图,临时DC,临时DC加载临时位图
2.对临时DC设置相关属性...(来自原始DC的相关属性,如字体、画刷、颜色).
3.临时DC是否需要先复制原始DC的数据(很多函数如DrawText需要做反锯齿处理,反锯齿处理的关键是和背景色做混合,因此从原位图复制出数据也是很有必要的...对于那些被GDI函数改变过的点,由于其alpha值都变成了255,其RGB部分,AlphaBlend会根据BLENDFUNCTION中指定的alpha值来和原值混合。...SelectObject(dcMem, m_pCurBrush->GetBrush());
::SelectObject(dcMem, m_pCurFont->GetFont());
::SetTextColor...m_hCurBrush;
HGDIOBJ m_hCurFont;
};
使用:
DCBuffer dcBuf(m_hdc,pRc,m_curColor.a);
::DrawText