7 import urllib
, Image
, StringIO
12 _xml
= 'captcha.glade'
14 self
.widgets_tree
= gtk
.glade
.XML( _xml
)
16 self
.widgets_tree
.signal_autoconnect( events_connect
)
17 window
= self
.widgets_tree
.get_widget( _window
)
19 window
.connect("destroy", gtk
.main_quit
)
20 self
.captcha
= self
.widgets_tree
.get_widget( 'captcha' )
22 src_img
= StringIO
.StringIO( urllib
.urlopen('http://s50.radikal.ru/i127/0904/6d/f4cff6808e12t.jpg').read() )
23 img
= Image
.open(src_img
)
24 #file1 = StringIO.StringIO()
25 img
.save( 'c:\\temp\captcha', img
.format
)
26 self
.captcha
.set_from_file('c:\\temp\captcha')
28 contents = file1.getvalue()
30 loader = gtk.gdk.PixbufLoader('pnm')
31 loader.write( contents, len(contents) )
32 pixbuf = loader.get_pixbuf()
35 self.captcha.set_from_pixbuf(pixbuf)
39 if __name__
== "__main__":
48 def image_to_pixbuf(image):
49 fd = StringIO.StringIO()
51 contents = fd.getvalue()
53 loader = gtk.gdk.PixbufLoader("pnm")
54 loader.write(contents, len(contents))
55 pixbuf = loader.get_pixbuf()
59 image = PIL.Image.open("example.png")
60 pixbuf = image_to_pixbuf(image)
62 image.set_from_pixbuf(pixbuf)