2010-07-15 87 views

回答

2

如果你不想使用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