Beste Stani, Bedankt voor de reactie. Ik weet niet precies waar ik deze 'wxpython-user mailing lijst' kan vinden. Ik heb maar heel effe geGoogled en deze mailing lijst tegen gekomen..... Voor de rest begrijp ik je antwoord op mijn code wel enigzins maar zie ik momenteel niet hoe ik deze dan moet aan passen om het gewenste resultaat te bekomen.... Als ik het weet laat ik het weten.
Nogmaals bedankt! mailing lijst Stani-2 wrote: > > Beste Udder, > > Ik raad je sterk aan dit soort vragen te stellen op de wxpython-user > mailing lijst. Daar zal je meer feedback krijgen dan hier. > Eerste opmerking is dat je nooit een referentie naar een dc mag opslaan. > Dus self.canvas_dc is uit den boze. Een device context moet je > doorspelen als argument van een andere methode of opvragen met > wx.ClientDC(self). Als je dit niet doet wordt het behoorlijk > onvoorspelbaar wat er gaat gebeuren. > > Ten tweede kan je het beste je panel tekenen vanuit een > wx.EVT_ERASE_BACKGROUND handler: > > self.Bind(wx.EVT_ERASE_BACKGROUND,self.OnEraseBackground) > > Met OnEraseBackground method teken je dan vervolgens de basisafbeelding. > > Voor een voorbeeld zie de Mixin die ik hiervoor geschreven heb voor > Phatch: > > http://bazaar.launchpad.net/~stani/phatch/dev/annotate/540?file_id=paint.py-20080117003711-1714wor62cxaip1y-1 > > Dit is bijvoorbeeld het resultaat (met onderliggende afgeronde > rechthoek): > http://seanja.com/blog/wp-content/phatch-running.png > > Er zit ook een standalone test bij die je dus kan laten lopen door > "python paint.py" te runnen. > > Groeten, > Stani > > Op donderdag 02-10-2008 om 08:11 uur [tijdzone -0700], schreef Udder: >> 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) >> =============================== > > _______________________________________________ > Python-nl mailing list > Python-nl@python.org > http://mail.python.org/mailman/listinfo/python-nl > > -- View this message in context: http://www.nabble.com/Tekenen-op-een-achtergrond-bitmap-met-wx.DC-tp19781271p19786217.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