Entwickler-Ecke

Multimedia / Grafik - Canvas wieder löschen


Müllersche - Do 22.04.10 11:57
Titel: Canvas wieder löschen
Hallo.

Also ich bin ein blutiger Anfänger bei Delphi.
Programmiere gerade was und zeichne dort mit Canvas.

Nun ist meine Frage wie man dem Programm sagt, dass er das canvas bei bestimmten Koordinaten wieder löscht, z.B. beim Drücken eines Buttons.
Wäre froh, wenn mir jemand mal den Code dazu sagen könnte.

MfG, Müllersche


Narses - Do 22.04.10 12:06

Moin und :welcome: im Forum!

user profile iconMüllersche hat folgendes geschrieben Zum zitierten Posting springen:
Nun ist meine Frage wie man dem Programm sagt, dass er das canvas bei bestimmten Koordinaten wieder löscht, z.B. beim Drücken eines Buttons.
Man kann das Canvas nicht selektiv "löschen", du kannst aber an dieser Stelle mit der Hintergrundfarbe malen, dann ist das, was da vorher war, auch weg. :idea: ;)

user profile iconMüllersche hat folgendes geschrieben Zum zitierten Posting springen:
Wäre froh, wenn mir jemand mal den Code dazu sagen könnte.
Wie sieht denn dein aktueller Versuch aus? ;)

cu
Narses


Müllersche - Do 22.04.10 16:38

Naja, hatte bisher keine wirklich gute Idde...
Ich verschiebe einen Kreis immer um einen Pixel...
Ich versuche das mal mit den Hintergrundfarben...

Aber noch eine Frage dazu: Wie macht man, dass das Programm beim starten direkt ohne weiteres einen weißen Hintergrund hat?


martin300 - Do 22.04.10 18:07

Wenn du einen weißen Hintergrund erzeugen kannst hilft
http://www.delphiforum.de/viewtopic.php?t=70729&highlight=oncreate+formular
weiter.


Waldheini - Sa 24.04.10 00:23

Schau Dir mal den Objektinspektor an. Bei der Form kannst Du im Feld Color die Farbe einstellen, z.B. clWhite.


Bergmann89 - Sa 24.04.10 02:26

Hey,

was willst du denn genau löschen? Reicht dir ein 4-Eck?

Delphi-Quelltext
1:
2:
3:
4:
  Canvas.Pen.Color    := Hintergrundfarbe;  //Farbe des Pinsels
  Canvas.Brush.Color  := Hintergrundfarbe;  //Farbe der Fläche
  Canvas.Brush.Style  := bsSolid;           //Fläche gefüllt darstellen
  Canvas.Rectangle(X1, Y1, X2, Y2);         //Rechteck zeichnen
das gleiche geht auch mit deinem Kreis, wenn du Brush.Style auf bsSolid setzt, dann wird die Fläche die deine Formen einschließt immer mit Brush.Color gezeichnet. Was man noch dazu wissen muss steht in der Delphi Hilfe ;)

MfG Bergmann.