geht schon, wenn die Bitmapgröße passt und Du nach dem wiederherstellen Invalidate aufrufst...
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if not Assigned(Fbmp) then Fbmp := TBitmap.create;
FBMP.Width := Image.Width;
Fbmp.Height := Image.Height;
ZustandSpeichern(Image,FBMP);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ZustandLaden(Image,FBMP);
Image.Invalidate;
end;
je nachdem was auf Deinem Bitmap gemalt wird könntest Du die Arbeitschritte auch in einer Liste speichern und gegf. alle Schritte auf einem leeren Image bis zu gewünschten Zustand wiederholen...