All pastes #231647 Raw Edit

Anonymous

public text v1 · immutable
#231647 ·published 2006-10-31 22:54 UTC
rendered paste body
#!/usr/bin/python

import urllib
from wxPython import wx
from wxPython.wx import wxImageFromStream, wxBitmapFromImage, wxTimer, wxInitAllImageHandlers
from cStringIO import StringIO
import wx

url = 'http://www.welikesheep.com/archives/lucyliu.jpg'

def MyImage():
	print "reading"
	print url
	fp = urllib.urlopen(url)
	data = fp.read()
	fp.close()
	img = wx.ImageFromStream(StringIO(data))
	img.Rescale (640,480)
	return(img)

class MyPanel(wx.Panel):
     def OnPaint(self, event):
	 print "painting"
     	 print url
         dc = wx.PaintDC(self)
         dc.DrawBitmap(self.bitmap, 0, 30)

     def OnTimer(self, event):
     	 #print url
         self.bitmap=wxBitmapFromImage(MyImage())
	 self.Refresh()
	 wx.EVT_PAINT(self, self.OnPaint)

class MyFrame(wx.Frame):
     def __init__(self, parent, id, title):
         wx.Frame.__init__(self, parent, id, title, size = (640,520))
	 ZePanel=MyPanel(self,-1)
	 ZePanel.timer = wx.Timer(ZePanel)
         ZePanel.Bind(wx.EVT_TIMER, ZePanel.OnTimer, ZePanel.timer)
         ZePanel.timer.Start(1000)
	 ZePanel.bitmap=wxBitmapFromImage(MyImage())
	 newURL=wx.TextCtrl(ZePanel, -1, "Cam URL", (0,0), size=(639, -1), style=wx.TE_PROCESS_ENTER)
	 self.Bind(wx.EVT_TEXT_ENTER, self.EvtTextEnter, newURL)
         wx.EVT_PAINT(ZePanel, ZePanel.OnPaint)
     
     def EvtTextEnter(self,event):
     	 global url
	 url=event.GetString()
	 event.Skip()
	 
class MyApp(wx.App):
     def OnInit(self):
     	 wxInitAllImageHandlers()
         frame = MyFrame(None, -1, 'CamView')
         frame.Show(True)
         self.SetTopWindow(frame)
         return True
     
 
app = MyApp(0)
app.MainLoop()