Entwickler-Ecke

Multimedia / Grafik - Inhalt von TImage löschen


rizla - Mi 13.01.10 17:47
Titel: Inhalt von TImage löschen
Hoi!

Ich hab da mal 'ne Frage:
ich benutze für ne graphische Ausgabe ein TImage (es ist kein FPShooter, daher reicht das.), nun
ist es aber nötig, dass ich den Inhalt lösche. Es quasi in den Urzustand versetze, in dem es ja bekanntermaßen
transparent ist (resp. leer resp. gar nicht vorhanden - nachdem ich es der Form platziert habe also).
Das darunterliegende (in dem Fall auch ein Bild, soll zu sehen sein, daher die geforderte Transparenz).

Habe schon einiges vesucht, z.B.


Quelltext
1:
Image1.Picture.Bitmap := nil                    


oder über

Quelltext
1:
.brush := bsnone;                    
und floodfill;

oder per setzen der größe auf 0 und dann zurück auf die benötigte größe.

Aber es klappt alles nicht.

Ich male, um es anzumkerken, nicht (auf) dem ganze bild, sondern nur an bestimmten stellen des bildes etwas.
Und dieses gemalte muss halt wieder weg.
Also quasi, als wenn ich auf einer Transparenzfolie etwas schreiben würde und dieses dann wieder wegwische.
(Ich glaube, dieser Vergleich ist der treffenste).

Beste Grüße


:r:


ffgorcky - Mi 13.01.10 18:41

Gucke Dir einfach mal dieses Thema an:
Delphi-Forum.de » Sonstiges (Delphi) » TImage [http://www.delphi-forum.de/viewtopic.php?t=42657]
Da steht - wenn ich das richtig sehe - genau das als Abfrage beschrieben:
Picture.Graphic=nil
- oder ist Dein Problem nicht das gleiche?


rizla - Mi 13.01.10 19:08

Joa, funktioniert,
aber nur, weil ich dieses danach noch tue:


Quelltext
1:
2:
3:
4:
  with Image1.Picture.Bitmap do begin
   Width:=354;
   Height:=354;
 end;


Aber ist das sauber programmiert? Hmm. egal, es funktioniert!

Danke


FinnO - Mi 13.01.10 21:02

image1.Canvas.Fillrect(ClientRect);

es empfiehlt sich, vorher die Farbe weiß zu setzen.