Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Canvas Zurücksetzen (https://www.delphipraxis.net/193177-canvas-zuruecksetzen.html)

A.Griffin 30. Jun 2017 10:07

Canvas Zurücksetzen
 
Ich habe ein quadratisches TShape. Bei MouseUp benutze ich:

Code:
shp1.Canvas.Brush.Color := clRed;
shp1.Canvas.Brush.Style := bsSolid;
shp1.Canvas.Ellipse(X-5, Y-5, X+5, Y+5);
um einen kleinen Kreis beim Click auf das Shape zu malen. Ich nutze die Koordinaten (des MouseUp Events) für einen Laserprojektor um einen Punkt zu projekzieren je nach dem wo ich auf das Shape klicke. Wie kann ich bei jedem Klick das Canvas (des TShape) zurücksetzen oder den letzten Punkt löschen damit ich immer nur einen kleinen roten Kreis sehen kann?

Ich verwende Delphi 7.

stahli 30. Jun 2017 10:30

AW: Canvas Zurücksetzen
 
Entweder Canvas.FillRect oder den fertigen Hintergrund speichern und immer neu in den Canvas kopieren bevor der Punkt an der neuen Stelle gezeichnet wird.

A.Griffin 30. Jun 2017 14:15

AW: Canvas Zurücksetzen
 
Vielen Dank. Ich habe es jetzt mit FillRect gemacht. Wäre schön wenn es Canvas.clear o.ä. geben würde.

Bernhard Geyer 30. Jun 2017 14:16

AW: Canvas Zurücksetzen
 
Zitat:

Zitat von A.Griffin (Beitrag 1375699)
Ich habe ein quadratisches TShape. Bei MouseUp benutze ich:

Wie wäre es das Zeichnen in die OnDraw-Routine zu verlegen?
Und Neuzeichneen über .Invalitate auslösen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:25 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