自定义MFC透明位图函数
2012-12-23 10:08
239 查看
自己搞的,需要的同学可以直接拿去用。
bool CFIRView::transBitmap(UINT bitmapID,COLORREF color,int x,int y) { //UINT bitmapID 位图资源ID //COLORREF color 设置要透明的 颜色 //int x,int y 贴图位置 CBitmap mBitmap,mMask; CDC *pDC,bitmapDC,maskDC; BITMAP bm; pDC=GetDC(); bitmapDC.CreateCompatibleDC(pDC); maskDC.CreateCompatibleDC(pDC); mBitmap.LoadBitmap(bitmapID); mBitmap.GetBitmap(&bm); mMask.CreateBitmap(bm.bmWidth,bm.bmHeight,1,1,NULL); bitmapDC.SelectObject(mBitmap); maskDC.SelectObject(mMask); bitmapDC.SetBkColor(color); maskDC.BitBlt(0,0,bm.bmWidth,bm.bmHeight,&bitmapDC,0,0,SRCCOPY); pDC->BitBlt(x,y,bm.bmWidth,bm.bmHeight,&bitmapDC,0,0,SRCINVERT); pDC->BitBlt(x,y,bm.bmWidth,bm.bmHeight,&maskDC,0,0,SRCAND); pDC->BitBlt(x,y,bm.bmWidth,bm.bmHeight,&bitmapDC,0,0,SRCINVERT); bitmapDC.DeleteDC(); maskDC.DeleteDC(); return true; }
相关文章推荐
- MFC透明位图显示函数
- MFC 工具栏 Toolbar 自定义 位图
- MFC中自定义消息方法及如何得到消息处理函数的返回值
- 自定义RGB位图使用Alpha通道处理透明效果
- 透明位图显示//TransparentBlt //DrawTransparentBitmap函数
- 如何在基于MFC的环境中使用自定义消息函数?
- TransparentBitmap函数设置透明位图的原理分析
- GTK自定义函数之透明列表(5)-bobo
- MFC基于对话框如何添加位图并使位图背景透明(TransparentBlt函数)
- 基于MFC的截屏和以位图保存的函数
- MFC 工具栏 Toolbar 自定义 位图 Bitmap
- 1019MFC中自定义函数想要调用父类控件的解决方法
- mfc中添加一个自定义函数步骤
- VC中使用GDI函数实现位图的透明
- VC中使用GDI函数实现位图的透明
- MFC中实现位图的透明显示
- MFC透明位图(1)--BMP的实现
- MFC透明位图(2)--PNG的实现
- MFC 工具栏 Toolbar 自定义 位图
- VC中使用GDI函数实现位图的透明