2010-03-16 9 views
0

Je cherche à ajouter un double tampon à une fonction de dessin comme celle-ci.Comment puis-je dessiner sur un MemoryDC à l'aide de GraphicsContext, puis l'appliquer à un PaintDC?

dc = wx.PaintDC(self) 
    gc = wx.GraphicsContext.Create(dc) 
    #draw GraphicsPaths to the gc 

J'ai essayé d'abord attirer un MemoryDC puis blit que revenir à la PaintDC:

dc = wx.MemoryDC() 
    dc.SelectObject(wx.NullBitmap) 
    gc = wx.GraphicsContext.Create(dc) 
    #draw GraphicsPaths to the gc 
    dc2=wx.PaintDC(self) 
    dc2.Blit(0,0,640,480,dc,0,0) 

Cependant, cela ne me donne rien, mais un écran vide. Ai-je mal compris comment le MemoryDC est censé fonctionner?

Répondre

1

Vous devez créer un bitmap, n'utilisez pas wx.NullBitmap.

bitmap = wx.EmptyBitmap(w, h) 
dc = wx.MemoryDC(bitmap)