German Mit Canvas erzeugte Texte "Löschen"

peternmb

Well-Known Member
Licensed User
Longtime User
Hallo,

ich schreibe in einer Schleife mit Canvas und DrawText Ergebnisse auf einen Hintergrund - klappt soweit wundernbar.
Wenn sich aber was ändert muss das neu geschrieben werden, aber wie lösche ich das vorher geschriebene?
 

klaus

Expert
Licensed User
Longtime User
Es gibt mehrere Möglichkeiten_
- Den Text mit der Hintergrundfarbe überschreiben, ist vielleicht nicht ganz sauber.
- Ein Rechteck mit der Hintergrundfarbe über den Text schreiben.
- Ein transparentes Panel über dem anderen Panel setzen und alle Texte auf dieses schreiben und ein transparentes Rechteck über den Text schreiben um ihn zu löschen (oder den Text mit transparent Farbe). Das hat den Vorteil dass das Hintergrundbild unverändert bleibt.

Beste Grüsse.
 

peternmb

Well-Known Member
Licensed User
Longtime User
sowas wie ein destroy gibt es wohlt nicht?

Ich hatte eigentlich gedacht, dass ich entweder
a) alle Texte in einer Schleife löschen kann (ich meine ich hätte was in dieser Art mal in irgendwinem Besispiel gesehen) oder
b) alles auf einen transparenten Hintergrund schreiben kann und diesen (mitsamt der Texte) dann destroye.

Deine Möglichkeit
a) halte ich auch nicht für so ideal
b) ist schwierig, da der Hintergrund ein jpg ist
c) verstehe ich nicht so ganz, ist vom Anfang her eigentlich wie meine 2.Idee, nur was bringt es noch ein transparentes Rechteck darüber zu legen, wieso wird dann der darunterliegende Text unsichtbar?
 

klaus

Expert
Licensed User
Longtime User
Ich hatte verstanden dass Du nur eine 'Textzeile' löschen wolltest und nicht den ganzen Bilsschirm.
Die beste Möglichkeit ist das transparente Panel.

Für eine Lösung siehe das Testprogramm hier.
Darin findest Du auch die Antworten auf Deine Fragen.

Beste Grüsse.
 

peternmb

Well-Known Member
Licensed User
Longtime User
Vielen Dank für das ausführliche Beispiel.

Nach etwas rumprobiererei habe ich es geschafft das an mein Programm anzupassen.
Es wird allerdings nur der Bildschirmbereich "gelöscht", nicht der scrollbare Bereich weiter unten, obwohl ich die Abmessungen für das transparente Panel eigentlich richtig angegeben habe.
 

peternmb

Well-Known Member
Licensed User
Longtime User
ich habe das Problem gefunden.

Ich hatte keine fixe Größe sonder die Größe in % angegeben. Diese Angabe bezieht aber natürlich auf den Bilschirm nicht auf das Object.
Deshalb wurde dann auch nur der Bildschirm-Bereich gelöscht. :signOops:
 
Top