使ってみましたGraphicsContext
か?
ここにいくつかのサンプルコードがあります。GCDC
ラッパーを使用すると、既存のコードに簡単にドロップできるはずです。次の行だけが必要な場合があります。dc = wx.GCDC(dc)
レンダリングはかなり遅くなります!これを、ユーザーが有効/無効にできるオプションにすることができます。
代替テキストhttp://www.michaelfogleman.com/static/images/gcdc.png
import wx
import random
class Panel(wx.Panel):
def __init__(self, parent):
super(Panel, self).__init__(parent, -1)
self.Bind(wx.EVT_PAINT, self.on_paint)
self.lines = [[random.randint(0, 500) for i in range(4)] for j in range(100)]
def on_paint(self, event):
dc = wx.PaintDC(self)
dc = wx.GCDC(dc)
dc.SetUserScale(0.3, 0.3)
for line in self.lines:
dc.DrawLine(*line)
class Frame(wx.Frame):
def __init__(self):
super(Frame, self).__init__(None, -1, 'Test')
Panel(self)
if __name__ == "__main__":
app = wx.PySimpleApp()
frame = Frame()
frame.Show()
app.MainLoop()