两种透明
来源:互联网 发布:汪小菲为什么选大s知乎 编辑:程序博客网 时间:2024/05/29 10:57
透明总而言之就是需要ARGB中的Alpha。
两个办法,一种是真透明:
1,Pixmap和Window建立时有Alpha通道。Pixmap当然就是depth为32就好,Window的话首先获得Visual信息,用合适的Visual创建窗口。
2、把图搞上去(现在用的Cairo就干这件事)
剩下的就是要Window manager(kwin,metacity等)支持Composite。
具体可以参考代码里面CreateWindow时候的处理。其中FindARGBVisual函数就是获取Visual信息。
另外一种是不支持半透明这种的,可以利用XShapeCombineMask,需要传递一个Pixmap指明哪里是透明的,直接货真价实的改变窗口形状。不需要窗口管理器支持。
当然两个方法结合起来也ok。
现在貌似实现了改变形状的透明方式,但是不能灵活运用,主要Pixmap指定区域不会
至于第一种,貌似平台底层不支持
- 两种透明
- 两种透明颜色混合后的颜色
- 网页背景透明的两种办法
- html 背景透明的两种方式
- 透明三角的两种设置方式
- 网页中实现Flash透明的两种方法
- 加载位图树纹理的两种方法---背景透明
- css实现背景透明,文字不透明的两种方法
- 将UINavigationBar设置为全透明的两种方法
- iOS 设置导航透明的两种方法
- 【转】python--pyqt窗体背景透明的两种应用
- iOS 设置导航透明的两种方法
- iOS 设置导航透明的两种方法
- vc++加载透明png图片方法——GDI+和CImage两种
- vc++加载透明png图片方法——GDI+和CImage两种
- vc++加载透明png图片方法——GDI+和CImage两种
- VC++加载透明png图片的两种常用方法——GDI+和CImage
- vc++加载透明png图片方法——GDI+和CImage两种
- 浅谈网页的cookies存储技术
- mfc编程的时候,你需要让程序模拟按下键盘的时候
- Zigbee串口透明传输(转载)
- C#无限分类,递归重新生成排好序的树状数据源
- IHS 代理配置
- 两种透明
- Shell之date用法
- DispatchAction
- C++调用C# com组件:一个完整的的小例子
- Ubuntu机器固定IP地址
- Real-time clock alarm
- poj 1658 Eva's Problem
- linux中临时禁用用户
- 黑马程序员_自定义学生类需要的几个必备的方法