QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 853|回复: 6

XWindow 高手请进

[复制链接]
发表于 2003-12-30 13:37:57 | 显示全部楼层 |阅读模式
在redhat下做了一个透明窗口,但是看不到底下其他窗口的变化,有解决办法吗?
发表于 2004-1-3 16:59:46 | 显示全部楼层
你采用的具体实现方法是什么?
是不是先用XGetImage 将根窗口的相应区域截取下来,然后再用经过对Pixel的处理之后XPutImage显示到你自己做的透明窗口上?
如果是这样的话,除非修改X Server(你用的是XFree86吗?),否则无法实时更新背景的变化。
如果不是这么实现的,请具体描述一下你的实现过程,或者干脆把源代码贴出来。
回复

使用道具 举报

 楼主| 发表于 2004-1-6 17:18:50 | 显示全部楼层
我的实现方法跟你说的差不多。以前在Solaris下有专门的extension支持这个功能,不知道XFree86有没有?
回复

使用道具 举报

发表于 2004-1-7 09:39:20 | 显示全部楼层
你做的是窗口应用区透明,还是窗体透明?
回复

使用道具 举报

 楼主| 发表于 2004-1-8 12:48:37 | 显示全部楼层
应该是两者都透明吧
回复

使用道具 举报

发表于 2004-1-8 13:30:37 | 显示全部楼层
应用区透明很容易实现,看看gnome-terminal的源码
我没见过在传统X中(例如XFree86)实现的窗体透明。如果不修改X的话,似乎不能实现窗体透明。
经过FreeDesktop修改的XServer可以实现窗体透明,不过一则这个XServer不程序,缺乏实用性,另一则,FreeDesktop的XServer要实现窗体透明需要几个插件

DirectFB已经实现了窗体透明,不过它比FreeDesktop更不成熟   
回复

使用道具 举报

 楼主| 发表于 2004-1-9 12:22:29 | 显示全部楼层
谢谢firespirit的回复,决定放弃这个feature.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-9 02:45 , Processed in 0.126877 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表