Ha, ik heb een 'werkende' versie... Wie wil deze nog valideren?

=======================
class paneel_met_voeten(wx.Panel): 
    def __init__(self, parent, id): 
        wx.Panel.__init__(self, parent, id,
style=wx.WS_EX_PROCESS_UI_UPDATES ) 
        self.SetBackgroundColour((255, 255, 255))
        image_file = 'bitmaps/voeten.bmp' 
        self.image = wx.Bitmap(image_file)                  
        self.Bind(wx.EVT_LEFT_DOWN, self.OnMotion)  
        self.Bind(wx.EVT_PAINT,self.OnEraseBackground)                

    def OnEraseBackground(self,event=None):
        wx.PaintDC(self).DrawBitmap(self.image, 0, 0, 0) 

    def OnMotion(self, event): 
        x, y = event.GetPosition() 
        self.DrawText(x, y) 

    def DrawText(self, a, b): 
        wx.MemoryDC(self.image).DrawText("Sweet Roses!", x=a, y=b) 
        size = self.GetSizeTuple()
       
wx.ClientDC(self).Blit(0,0,size[0],size[1],wx.MemoryDC(self.image),0,0) 
========================

thanks!! (aan Stani, ik weet niet wie je bent, maar je hebt wel verstand van
Python en programmeren he..ik ben maar een amateur...nou ja.)


Udder wrote:
> 
> Hallo iedereen, 
> 
> Ik probeer een tekst te 'tekenen' op een bestaande bitmap die als
> achtergrond fungeert voor een canvas. Het probleem is dat ik de bitmap
> niet zie als ik de applicatie start, maar wel wanneer ik begin met
> schrijven van tekst. Het schrijven van de tekst gaat  dan ook zonder
> problemen. Dit gebeurt dan in een mouse-down event-handler.  Hier beneden
> de bewuste code. Het betreft hier een paneel dat weer child is van een
> notebook pagina. Iedereen alvast bedankt!
> 
> ==============================
> import wx
> 
> class paneel(wx.Panel):
>     def __init__(self, parent, id):
>         wx.Panel.__init__(self, parent, id,
> style=wx.WS_EX_PROCESS_UI_UPDATES )
>         image_file = 'bitmaps/voeten.bmp'
>         self.image = wx.Bitmap(image_file)
>         self.canvas_dc = wx.ClientDC(self)                 
>         # the image is now the background for the canvas
>         self.canvas_dc.DrawBitmap(self.image, 0, 0, 0)
>         self.Bind(wx.EVT_LEFT_DOWN, self.OnMotion)        
> 
>     def OnMotion(self, event):
>         x, y = event.GetPosition()
>         self.DrawText(x, y)
> 
>     def DrawText(self, a, b):
>         dc = wx.MemoryDC(self.image)
>         dc.DrawText("Sweet Roses!", x=a, y=b)
>         self.canvas_dc.Blit(0,0,553,521,dc,0,0)
> ===============================
> 

-- 
View this message in context: 
http://www.nabble.com/Tekenen-op-een-achtergrond-bitmap-met-wx.DC-tp19781271p19786729.html
Sent from the Python - python-nl mailing list archive at Nabble.com.

_______________________________________________
Python-nl mailing list
Python-nl@python.org
http://mail.python.org/mailman/listinfo/python-nl

Antwoord per e-mail aan