窗口透明化 AlphaBlend
来源:互联网 发布:森林优化补丁 编辑:程序博客网 时间:2024/06/05 21:09
在网上搜了下AlphaBlend的说明,也看了MSDN,但还是不太明白,自己就动手试了下,结果OK。
先贴下代码
BLENDFUNCTION bf;
bf.AlphaFormat=0;
bf.BlendFlags=0;
bf.BlendOp=AC_SRC_OVER;
bf.SourceConstantAlpha=128;//透明度50%(0 - 255)
CDC* parentDc = GetParent()->GetDC();
CDC* dc = GetDC();
CRect rt;
GetClientRect(&rt);
CRect rtWnd;
GetWindowRect(&rtWnd);
GetParent()->ScreenToClient(&rtWnd);
AlphaBlend(dc->GetSafeHdc(),0,0, rt.Width(), rt.Height(), parentDc->GetSafeHdc(), rtWnd.left, rtWnd.top, rt.Width(), rt.Height(), bf);
ReleaseDC(parentDc);
ReleaseDC(dc);
这段代码的背景如下:一个对话框,点击一个按钮,接着执行上面的代码;
所谓透明,其实就是把自己挡住的部分显示在自己的界面,其实有个像素的处理,API函数AlphaBlend就是做了这个处理;
因为这只是测试,所以如果你要实现自动透明化,那应该在OnPaint中做相应的处理。
0 0
- 窗口透明化 AlphaBlend
- AlphaBlend Alpha透明
- 窗口透明化代码
- 窗口透明化
- 透明化窗口SetLayeredWindowAttributes
- 透明化窗口SetLayeredWindowAttributes
- VC 窗口透明化
- 透明化窗口SetLayeredWindowAttributes
- 实现AlphaBlend混合实现透明的代码
- AlphaBlend实现的透明PNG窗体
- MMX AlphaBlend 32位 高速透明混合
- AlphaBlend
- AlphaBlend
- AlphaBlend
- AlphaBlend
- 透明化窗口SetLayeredWindowAttributes[转]
- 透明窗口
- 透明窗口
- 最大子数组的递归实现
- hive参数hive.mapred.mode分析
- jQuery对象和DOM对象的区别与联系
- 创业之初需要准备的六个方面
- 数据结构——二叉树的遍历问题(C语言)
- 窗口透明化 AlphaBlend
- 千万当心这10所“野鸡大学”,由于这些学校与正牌知名大学的名字极易混淆,学生们需特别提防。
- Michael和Sophia的英语之路
- 经典DP HDU 2084 数塔
- Servlet开发技术基础
- ZOJ 3469 Food Delivery
- 实例对比Stack类与Queue类
- 面向对象方法开发的特点
- 设计模式