2

我在 X11 服务器(在 raspbian 上)上使用GtkWebKit使用python。gi.repository我有Gtk.OffscreenWindow一个WebKit.WebView小部件,我正在寻找一种方法来获取对OffscreenWindow.

Gtk.OffscreenWindow.get_surface返回一个cairo.XlibSurface对象,但似乎没有办法访问表面的像素数据(get_drawable丢失)。

Gtk.OffscreenWindow.get_pixbuf返回一个像素缓冲区,但据我了解,这是实际表面数据的副本。

我使用get_snapshot了 the 的方法,WebKit.WebView但它创建了一个新的cairo.ImageSurface.

我的最终目标是使用参考来使用 pi3d 绘制表面并获得任何表面更新,而无需获取新的快照OffscreenWindow(这很慢)。

4

2 回答 2

0

@kapetanos,您可能熟悉这里的 pi3d.groups 对话https://groups.google.com/forum/#!topic/pi3d/4x0fPerYKRU 以及随后与 pi3d 的集成 https://github.com/pi3d/pi3d_demos /blob/master/GtkCube.pyhttps://github.com/pi3d/pi3d_demos/blob/master/PyQtCube.py

我意识到这对于您最初的问题来说为时已晚,但它可能会帮助从谷歌搜索到达这里的人!

我仍然不明白为什么在其他 linux 实现上工作的 X11 绘图表面系统在 Raspberry Pi 上不起作用,但其他开发人员似乎求助于使用 libbcm_host.so

于 2016-04-29T11:06:33.183 回答
0

来自GTK3 开发者参考

GtkOffscreenWindow 仅作为实现细节从 GtkWindow 派生。应用程序不应使用任何特定于 GtkWindow 的 API 来操作此对象。

GTKOffscreenWindows不能或不应该作为窗户操作,因此不能在它们上使用 Cairo。

于 2016-04-08T12:09:40.730 回答