Hallo Delphi-PRAXIS,
ich möchte eine Rückgängig und Wiederholen Funktion für mein Image programmieren. Ich habe mir das so gedacht:
- Inhalt des Canvas auf einem Bitmap vor jeder Änderung(zeichnen) speichern, sodass es immer eine Kopie vom letzten Schritt gibt
Delphi-Quellcode:
procedure ZustandSpeichern(Image: TImage; var bmp: TBitmap);
begin
BitBlt(bmp.Canvas.Handle,0,0,bmp.Width,bmp.Height,Image.Canvas.Handle,0,0,SRCCOPY);
end;
- Inhalt des Bitmaps auf das Canvas kopieren um den letzten Zustand wiederherzustellen
Delphi-Quellcode:
procedure ZustandLaden(Image: TImage; bmp: TBitmap);
begin
BitBlt(Image.Canvas.Handle,0,0,Image.Width,Image.Height,bmp.Canvas.Handle,0,0,SRCCOPY);
end;
Noch funktioniert aber gar nichts...
Was mache ich falsch?
Letztendlich wird dann eh nur 1 Schritt zurück funktionieren, das ist schade. Hat jemand vielleicht eine bessere Idee?
FG Dunkelbunt