Na, Du erstellst Dir eine Bitmap im Speicher und zeichnest darauf. OnPaint zeichnest Du diese Bitmap nun "in einem Rutsch" auf den Zielcanvas. Wenn sich dessen Größe ändert (und das ist auch nur dann notwendig), erstellst Du diese Bitmap in der passenden Größe neu. Dasselbe Prinzip habe ich z.B. bei meinem
runden Button angewendet, kannst es Dir ja mal ansehen (OK, da wird
GDI+ verwendet, aber das Prinzip ist ja das gleiche).