您的位置:首页 > 其它

设置透明背景1

2011-05-26 11:21 99 查看
// hdc 显示句柄
// hBitmap要显示的位图
// xStart,xStart显示的位置
// xadd,yadd显示的位图的大小变化:放大缩小
// 如:xadd=3表示位图宽度加3
// cTransparentColor变成透明的那种颜色
void CMy1_6View::TransparentBitmap(HDC hdc, HBITMAP hBitmap,short xStart,
short yStart, short xadd,short yadd, COLORREF cTransparentColor)
{
BITMAP m_bm;
COLORREF cColor;

// 创建临时DC
HDC hMem, hBack, hObject, hTemp, hSave;
hBack = CreateCompatibleDC(hdc);
hObject = CreateCompatibleDC(hdc);
hMem = CreateCompatibleDC(hdc);
hSave = CreateCompatibleDC(hdc);
hTemp = CreateCompatibleDC(hdc);
// 选入位图
SelectObject(hTemp, hBitmap);
GetObject(hBitmap, sizeof(BITMAP), (LPSTR)&m_bm);
//显示位图宽高
POINT ptSize;
// 取得位图的宽度
ptSize.x = m_bm.bmWidth;
// 取得位图的该度
ptSize.y = m_bm.bmHeight;
// 转换为逻辑点值
DPtoLP(hTemp, &ptSize, 1);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: