#!/usr/bin/env python import sys import gtk import cairo def expose (da, event,pixbuf): ctx = da.window.cairo_create() ct = gtk.gdk.CairoContext(ctx) ct.set_source_pixbuf(pixbuf,0,0) ctx.paint() ctx.stroke() def main(): filename = sys.argv[1] input = open(filename) imagebuf = input.read() pixbufloader = gtk.gdk.PixbufLoader() pixbufloader.write(imagebuf) pixbufloader.close() pixbuf = pixbufloader.get_pixbuf() imgw=pixbuf.get_width() imgh=pixbuf.get_height() win = gtk.Window() win.connect('destroy', gtk.main_quit) win.set_default_size(imgw, imgh) da = gtk.DrawingArea() win.add(da) da.connect('expose_event', expose, pixbuf) win.show_all() gtk.main() if __name__ == '__main__': if len(sys.argv) != 2: program = sys.argv[0] print program +':', 'usage:', program, '' sys.exit(0) else: main()