读书人

python图片展示

发布时间: 2012-08-14 10:39:57 作者: rapoo

python图片显示
def OnPointy2(self,event):
global fbEs
global fbEsFlag

global timeFlag1
global timeFlag2
global timeFlag3
global timeFlag4
global timeFlag5
global timeFlag6
global timeFlag7
global timeFlag8
global timeFlag9
global timeFlag10
global timeFlag11
global timeFlag12
global timeFlag13
global timeFlag14
global fre

fre=1


# 创建定时器
timeFlag2=1
self.timer2 = wx.Timer(self)#创建定时器
self.timer2.Start(1200)#设置定时器的时间为1200ms
self.Bind(wx.EVT_TIMER, self.OnTimer2, self.timer2)#绑定一个定时器事:

if timeFlag1==1:
self.timer1.Stop()
self.timer11.Stop()
self.Result11Pic.SetBitmap(wxNullBitmap)
else:
timeFlag1=0

if timeFlag3==1:
self.timer3.Stop()
self.timer33.Stop()
self.Result33Pic.SetBitmap(wxNullBitmap)
else:
timeFlag3=0

if timeFlag4==1:
self.timer4.Stop()
self.timer44.Stop()
self.Result44Pic.SetBitmap(wxNullBitmap)
else:
timeFlag4=0

if timeFlag5==1:
self.timer5.Stop()
self.timer55.Stop()
self.Result55Pic.SetBitmap(wxNullBitmap)
else:
timeFlag5=0

if timeFlag7==1:
self.timer7.Stop()
self.timer77.Stop()
self.Result77Pic.SetBitmap(wxNullBitmap)
else:
timeFlag7=0

if timeFlag8==1:
self.timer8.Stop()
self.timer88.Stop()
self.Result88Pic.SetBitmap(wxNullBitmap)
else:
timeFlag8=0

if timeFlag9==1:
self.timer9.Stop()
self.timer99.Stop()
self.Result99Pic.SetBitmap(wxNullBitmap)
else:
timeFlag9=0

if timeFlag10==1:
self.timer10.Stop()
self.timer1010.Stop()
self.Result1010Pic.SetBitmap(wxNullBitmap)
else:
timeFlag10=0

if timeFlag12==1:
self.timer12.Stop()
self.timer1212.Stop()
self.Result1212Pic.SetBitmap(wxNullBitmap)
else:
timeFlag12=0

if timeFlag14==1:
self.timer14.Stop()
self.timer1414.Stop()
self.Result1414Pic.SetBitmap(wxNullBitmap)
else:
timeFlag14=0

for ResultPic in [self.Result11Pic,self.Result22Pic,self.Result33Pic,self.Result44Pic,self.Result55Pic,self.Result66Pic,
self.Result77Pic,self.Result88Pic,self.Result99Pic,self.Result1010Pic,self.Result1111Pic,
self.Result1212Pic,self.Result1313Pic,self.Result1414Pic,]:
ResultPic.SetBitmap(wxNullBitmap)




imgl= wx.Image('%s\DBS\FacePic\pointy.jpg'%path0.decode('utf-8'),wx.BITMAP_TYPE_ANY).Scale(40,30)
self.Result22Pic.SetBitmap(wx.BitmapFromImage(imgl))
for ResultPic in [self.Result11Pic,self.Result33Pic,self.Result44Pic,self.Result55Pic,self.Result66Pic,
self.Result77Pic,self.Result88Pic,self.Result99Pic,self.Result1010Pic,self.Result1111Pic,
self.Result1212Pic,self.Result1313Pic,self.Result1414Pic,]:
ResultPic.SetBitmap(wxNullBitmap)

pos = event.GetPosition()

if self.Result22.GetValue()[0:4]!='NULL':
dc = wx.ClientDC(self.PicShow)
dc.Blit(0, 0, dc.GetSize().x, dc.GetSize().y,
self.memDC, 0, 0)
dc.SetPen(wx.Pen(wx.Colour(255,0,0), 1, wx.DOT))
self.PicShow.Unbind(wx.EVT_MOTION, id=-1,handler=None)
self.PicShow.Bind(wx.EVT_LEFT_UP, self.OnClickX22)
#参数值修改。
fbEsFlag=1
#foF1Flag=0
#foF2Flag=0
#fxF2Flag=0



else:
fbEs='NULL'
dc = wx.ClientDC(self.PicShow)
dc.Blit(0, 0, dc.GetSize().x, dc.GetSize().y,
self.memDC, 0, 0)
dc.SetPen(wx.Pen(wx.Colour(65,105,225), 1, wx.DOT))
dc.DrawLine( 0, 0,0,0)

def OnTimer2(self,event):
self.Result22Pic.SetBitmap(wxNullBitmap)
# 创建定时器
self.timer22 = wx.Timer(self)#创建定时器
self.timer22.Start(600)#设置定时器的时间为600ms
self.Bind(wx.EVT_TIMER, self.OnTimer22, self.timer22)#绑定一个定时器事件

def OnTimer22(self,event):
imgl= wx.Image('%s\DBS\FacePic\pointy.jpg'%path0.decode('utf-8'),wx.BITMAP_TYPE_ANY).Scale(40,30)
self.Result22Pic.SetBitmap(wx.BitmapFromImage(imgl))
for ResultPic in [self.Result11Pic,self.Result33Pic,self.Result44Pic,self.Result55Pic,self.Result66Pic,
self.Result77Pic,self.Result88Pic,self.Result99Pic,self.Result1010Pic,self.Result1111Pic,
self.Result1212Pic,self.Result1313Pic,self.Result1414Pic,]:
ResultPic.SetBitmap(wxNullBitmap)


这是一个显示手指图片的函数,一共十四个,这十四个只能显示一个,但是我不懂为什么其中一个手指一显示,主图片就变回原来的了,求高手指点,给点思路就行,我都不知道从那开始改

[解决办法]
貌似你应该去绑定wx.EVT_PAINT事件,然后在对应的回调函数里绘图。不然,一旦主图自动更新就会把你先前画的东西又盖掉...

读书人网 >perl python

热点推荐