Zitat:
Warum ist das unbedingt nötig?
weil Du an der
VCL vorbei auf das Canvas zugreifst.
Mit dem Zustandsarray haben wir uns missverstanden.
Wenn Du alle Zwischenstände als Bitmaps speichern möchtest nimm ein Objektliste mit Bitmaps.
Meine Idee war eher die Arbeitsschritte wie auch immer Codiert in eine Liste speichern, quasi ein Macrorecorder.
Delphi-Quellcode:
image.canvas.Pixels[10,10]:= clred; //>> P,10,10,$ff
image.canvas.MoveTo(30,30);//>>M,30,30
image1.canvas.Ellipse(10,10,100,100);// E,10,10,100,100
etc...
Ob das für Deine Zwecke brauchbar ist kann ich nicht beurteilen, da ich nicht weiß was Du machst...