1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#!/usr/bin/env python
"""Display a png file
"""
import sys
import cairo
import gtk
def expose_event(widget, event, surface):
ctx = widget.window.cairo_create()
ctx.set_source_surface(surface, 0,0)
ctx.paint()
if len(sys.argv) != 2:
raise SystemExit('usage: png_view.py png_file')
filename = sys.argv[1]
surface = cairo.ImageSurface.create_from_png(filename)
Width = surface.get_width()
Height = surface.get_height()
win = gtk.Window()
win.connect('destroy', gtk.main_quit)
drawingarea = gtk.DrawingArea()
win.add(drawingarea)
drawingarea.connect('expose_event', expose_event, surface)
drawingarea.set_size_request(Width,Height)
win.show_all()
gtk.main()
|