我希望为这样的绘图功能添加双缓冲。
dc = wx.PaintDC(self)
gc = wx.GraphicsContext.Create(dc)
#draw GraphicsPaths to the gc
我试图首先绘制到MemoryDC,然后将其blit返回到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)
然而,这只给我一个空白屏幕。我是否误解了MemoryDC应该如何工作?
答案 0 :(得分:1)
您需要创建一个位图,而不是使用wx.NullBitmap。
bitmap = wx.EmptyBitmap(w, h)
dc = wx.MemoryDC(bitmap)