如何在pygtk绘图区域获取表面?

问题描述

我想将pygtk中的开罗图形保存到磁盘中。

#!/usr/bin/env python3

import cairo
import gi
gi.require_version('Gtk','3.0')
from gi.repository import Gtk

def draw(da,ctx):
    # ...
    
    # How to get the surface ?
    surface.write_to_png("image.png")


def main():
    win = Gtk.Window()
    
    da = Gtk.DrawingArea()
    win.add(da)
    da.connect('draw',draw)
    
    win.show_all()
    Gtk.main()


if __name__ == '__main__':
    main()

如何获得表面?还是有更好的方法将图形保存到磁盘?

解决方法

我找到了。

surface = ctx.get_group_target()