我正在寻找一种使用 GTK+-2.0 存储窗口当前背景像素图的方法
我找到了这个功能:gdk_window_set_back_pixmap()
它允许将像素图设置为背景,但我找不到任何可以让我做相反的事情 - 即获取背景像素图。
我找到了这个功能:gdk_window_set_back_pixmap()
它允许将像素图设置为背景,但我找不到任何可以让我做相反的事情 - 即获取背景像素图。
你找不到这样的功能,因为没有。来自X Windows 常见问题解答:
主题:174) XGetWindowAttributes 可以获取窗口的背景像素/像素图吗?
不可以。一旦设置,窗口的背景像素或像素图就不能被客户端重新读取。这样做的原因是客户端可以创建像素图,将其设置为窗口的背景像素图,然后释放像素图。窗口保留此背景,但像素图本身已被破坏。如果您确定窗口具有背景像素(不是像素图),则可以使用
XClearArea()
将区域清除为背景颜色,然后用于XGetImage()
读回该像素。但是,此操作会更改窗口的内容,并且会受到暴露的竞争条件的影响。[由 NCD 的 Dave Lemke 和 Sun 的 Stuart Marks 提供]
由于 GTK 是 X11 原语的一个相当简单的包装器,因此它提供的功能并没有超出 X11 所提供的功能。
我可以建议这种方法
可能工作:-)