2010-07-15 61 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