Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Canvas-Zeichnung rückgängig machen (https://www.delphipraxis.net/114798-canvas-zeichnung-rueckgaengig-machen.html)

TheMiller 31. Mai 2008 18:30


Canvas-Zeichnung rückgängig machen
 
Hallo,

ich möchte eine Zeichnung, die ich auf Image1.Canvas gezeichnet habe, rückgängig machen. Nur weis ich nicht, wie das funktioniert. Ich weis, dass das Canvas keinen undo-Mode hat, aber ich weis auch nicht, wie ich vorher eine Kopie des Canvas anfertige und dieses dann wieder herstelle.

Bitte um Hilfe!

Danke

Fussball-Robby 31. Mai 2008 18:45

Re: Canvas-Zeichnung rückgängig machen
 
Du könntest das Bild vor jedem Zeichnen in ein TBitmap speichern, und dann bei Bedarf wieder laden. So könnte es aussehen:
Delphi-Quellcode:
procedure TForm1.SaveImageState(Image: TImage; var bmp: TBitmap);
begin
  bmp.Assign(Image.Picture.Graphic);
end;

procedure TForm1.LoadImageState(Image: TImage; bmp: TBitmap);
begin
  Image.Picture.Graphic.Assign(bmp);
end;

TheMiller 31. Mai 2008 18:52

Re: Canvas-Zeichnung rückgängig machen
 
Genial! Genau das was ich brauchte! Nur, darauf wäre ich nicht gekommen. Habe als mit dem Canvas oder dem Picture rumgespielt, aber nicht mit der Grafik!

Danke

rollstuhlfahrer 31. Mai 2008 19:35

Re: Canvas-Zeichnung rückgängig machen
 
mit Canvas gehts aber auch, indem man BitBlt verwendet.

rollstuhlfahrer


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz