代码之家  ›  专栏  ›  技术社区  ›  Mykola Kharechko

将gtk.DrawingArea保存到文件

  •  1
  • Mykola Kharechko  · 技术社区  · 14 年前

    我想使用PIL将gtk.DrawingArea()对象内容保存到jpeg文件。特别是我想增加 this script 可以拍照。我发现如何 save image to jpeg

    1 回复  |  直到 14 年前
        1
  •  2
  •   Wayne Werner    14 年前

    如果你还不想使用gstreamer,你可以用OpenCV代替。 This post

    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 .