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。