如何获取pygtk绘图区的surface?
How to get the surface in pygtk drawing area?
我想将 pygtk 中的 cairo 绘图保存到磁盘。
#!/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()
我想将 pygtk 中的 cairo 绘图保存到磁盘。
#!/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()