сохраните gtk. DrawingArea в файл

Я хочу сохранить gtk. DrawingArea () содержимое объекта в jpeg файл с помощью PIL. Особенно я хочу, добавляют к этой возможности сценария сделать фотографию. Я нашел, как сохранить образ к jpeg. Все, в чем я нуждаюсь - получает объект pixbuf от gtk. DrawingArea () объект. Как я могу сделать это?

1
задан Mykola Kharechko 15 July 2010 в 10:05
поделиться

1 ответ

Если вы не зациклены на идее использования gstreamer, вы можете использовать OpenCV. Эта статья дает отличный пример использования 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 - это позволило бы делать всевозможные забавные вещи .

2
ответ дан 2 September 2019 в 23:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: