1
我想使用PIL将gtk.DrawingArea()对象内容保存到jpeg文件。特别是我想加this script制作照片的可能性。我发现如何save image to jpeg。我所需要的 - 从gtk.DrawingArea()对象获取pixbuf对象。我怎样才能做到这一点?保存gtk.DrawingArea到文件
我想使用PIL将gtk.DrawingArea()对象内容保存到jpeg文件。特别是我想加this script制作照片的可能性。我发现如何save image to jpeg。我所需要的 - 从gtk.DrawingArea()对象获取pixbuf对象。我怎样才能做到这一点?保存gtk.DrawingArea到文件
如果你不想使用gstreamer的想法,你可以改用OpenCV。 This post使用pygame给出了一个很好的例子。
但是,你可以得到的pixbuf这种方式(你甚至不需要PIL):
def get_picture(self, event, data):
drawable = self.movie_window.window
colormap = drawable.get_colormap()
pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, 0, 8, *drawable.get_size())
pixbuf = pixbuf.get_from_drawable(drawable, colormap, 0,0,0,0, *drawable.get_size())
pixbuf.save(r'somefile.png', 'png')
pixbuf.save(r'somefile.jpeg', 'jpeg')
,然后就创建一个按钮,命令绑定到get_picture
。
当然,如果我正在编写此程序,我实际上首先将图像抓到Image
,然后在gtk.DrawingArea
上绘制它 - 这将允许您执行各种fun things。