您的位置:首页 > 其它

vc 将位图多余部分变为透明

2013-03-01 13:05 309 查看
||initinstance||

hdc=GetDC(hWnd);

   mdc=CreateCompatibleDC(hdc);//创建一个内存dc

   

   bg=(HBITMAP)LoadImage(NULL,"bg.bmp",IMAGE_BITMAP,600,450,LR_LOADFROMFILE);//加载背景图

   dra=(HBITMAP)LoadImage(NULL,"dra.bmp",IMAGE_BITMAP,170,99,LR_LOADFROMFILE);//加载要去掉多余部分的位图

   MyPaint(hdc);

   ReleaseDC(hWnd,hdc);

||MyPaint||

         SelectObject(mdc ,bg);
BitBlt(hdc,0,0,600,450,mdc,0,0,SRCCOPY);//贴上背景图

SelectObject(mdc,dra);
BitBlt(hdc,280,320,85,99,mdc,85,0,SRCAND);//用背景图与前景图做和运算

BitBlt(hdc,280,320,85,99,mdc,0,0,SRCPAINT);//用背景图与屏蔽图做或运算

要点讲解,加载背景图,前景图,屏蔽图,先用屏蔽图与背景图做与运算,在用前景图与屏蔽图做或运算。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vc gdi 位图 透明