如何将gtk canvas中的绘图从pyplot转换为python中的pixbuf?

时间:2013-06-17 13:52:11

标签: python matplotlib gtk

我正在使用pypthon中的matplotlib绘制一些内容,并希望在GTK中显示该情节。我正在关注this教程。问题是我想在textview中嵌入绘图。所以我想将它转换为pixbuf并将其附加到textview。

如果我先保存它并稍后将其作为pixbuf加载并将其附加到textview,这不是问题。但是,我想直接这样做而不保存任何文件。

以下是link

的示例代码
self.figure = Figure(figsize=(100, 100), dpi=75)
self.axis = self.figure.add_subplot(111) 
self.canvas = FigureCanvasGTK(self.figure) # a gtk.DrawingArea
self.canvas.show()
self.graphview = builder.get_object("plot")
self.graphview.pack_start(self.canvas, True, True)

我可以将self.canvas中的地图转换为pixbuf,以便将其嵌入textview吗?

1 个答案:

答案 0 :(得分:0)

我编写了一个类,它使用GdkPixbuf作为metaploitlib的后端,完整的源代码和演示可以在这里找到:metaploitlib_backend_pixbuf

如果我们得到一个pixbuf,那么我们可以很容易地将它插入到textview中。

下面是使用GtkImage显示pixbuf的截图:

screenshot