AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie lösch ich eine Bitmap aus einer Paintbox??
Thema durchsuchen
Ansicht
Themen-Optionen

Wie lösch ich eine Bitmap aus einer Paintbox??

Ein Thema von legalex · begonnen am 18. Feb 2009 · letzter Beitrag vom 18. Feb 2009
Antwort Antwort
Seite 1 von 2  1 2      
legalex

Registriert seit: 15. Feb 2009
6 Beiträge
 
#1

Wie lösch ich eine Bitmap aus einer Paintbox??

  Alt 18. Feb 2009, 09:15
hi,
gibt es einen einfachen Befehl wie ich eine Bitmap aus ner paintbox löschen kann?? habs schon mit - X ist das Objekt welches die Bitmap enthält - X.Destroy oder auch X.Free versucht. sowohl im forum als auch in google find ich nichts!
vllt kann mir ja hier einer weiter helfen. ich bedanke mich schon mal im voraus für konstruktive vorschläge

mfg
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Wie lösch ich eine Bitmap aus einer Paintbox??

  Alt 18. Feb 2009, 09:19
Hallo

Sollte so gehen:
PaintBox1.Canvas.FillRect(PaintBox1.ClientRect);
Thomas
  Mit Zitat antworten Zitat
legalex

Registriert seit: 15. Feb 2009
6 Beiträge
 
#3

Re: Wie lösch ich eine Bitmap aus einer Paintbox??

  Alt 18. Feb 2009, 10:08
hab hier nen timer... der soll in jedem intervall eine bitmap erstellen und dann wieder löschen... die bitmap soll sich also mit der zeit in der paintbox nach unten bewegen.. das problem ist halt nur das ich die bitmaps nicht gelöscht kriege

toms antwort funktioniert nicht... da werden dann überhaupt keine bitmaps mehr angezeigt!

Bemerkung: TetrisBox ist die Paintbox

Delphi-Quellcode:
procedure TForm1.TimerTimer(Sender: TObject);
begin
Brix4 := TBitmap.Create;
Brix4.LoadFromFile(Random_Parts);
Tetrisbox.Canvas.Draw(240,y,brix4);
y:=y+30;
Brix4.Canvas.FillRect(clientrect);
//TetrisBox.Canvas.FillRect(TetrisBox.ClientRect);
if y >= 400 then
  Timer.Enabled := False;
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#4

Re: Wie lösch ich eine Bitmap aus einer Paintbox??

  Alt 18. Feb 2009, 10:15
dieser Befehl löscht/übermalt die gesamte PaintBox, also mußt du das vorm Neuzeichnen deines Bildes machen

oder du übermalst nur den Teil, welche gelöscht werden soll ... die Position des Rechteckes kannst du ja selbst bestimmen.

PS: vergiß nicht die Farbe zu setzen, bevor du löschts (vorallem Brush.Color)

Delphi-Quellcode:
Brix4 := TBitmap.Create;
Brix4.LoadFromFile(Random_Parts);
TetrisBox.Canvas.BrushColor := {TForm1.}Color;
TetrisBox.Canvas.FillRect(TetrisBox.ClientRect);
Tetrisbox.Canvas.Draw(240,y,brix4);
y:=y+30;
PS: wird dein Brix4 (TBitMap) auch irgendwann wieder freigegeben?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
legalex

Registriert seit: 15. Feb 2009
6 Beiträge
 
#5

Re: Wie lösch ich eine Bitmap aus einer Paintbox??

  Alt 18. Feb 2009, 10:20
was meinst du mit freigegeben?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Wie lösch ich eine Bitmap aus einer Paintbox??

  Alt 18. Feb 2009, 10:23
Wenn man Speicher anfordert, sollte man den auch irgendwo wieder freigeben, sonst hat man bald keine Freunde mehr unter seinen Anwendern
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#7

Re: Wie lösch ich eine Bitmap aus einer Paintbox??

  Alt 18. Feb 2009, 10:31
Zitat von DeddyH:
Wenn man Speicher anfordert,
was unter anderem immer dann passiert, wenn du ein .Create aufrufst
Zitat von DeddyH:
sollte man den auch irgendwo wieder freigeben
was dann wiederum durch .Free des selben Objekts geschieht.
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

Re: Wie lösch ich eine Bitmap aus einer Paintbox??

  Alt 18. Feb 2009, 10:34
Normalerweise macht man solche Animationen, wie in deinem Fall, mit Puffer-Bitmaps. Sonst wirst du nicht glücklich werden.
  Mit Zitat antworten Zitat
legalex

Registriert seit: 15. Feb 2009
6 Beiträge
 
#9

Re: Wie lösch ich eine Bitmap aus einer Paintbox??

  Alt 18. Feb 2009, 10:36
Zitat von himitsu:
oder du übermalst nur den Teil, welche gelöscht werden soll ... die Position des Rechteckes kannst du ja selbst bestimmen.

PS: vergiß nicht die Farbe zu setzen, bevor du löschts (vorallem Brush.Color)
wie würde denn der code dazu aussehen... krieg das irgendwie nicht gebacken
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

Re: Wie lösch ich eine Bitmap aus einer Paintbox??

  Alt 18. Feb 2009, 10:40
Zitat von legalex:
krieg das irgendwie nicht gebacken
Irgendwie hat man auch den Eindruck, du bemühst dich nicht wirklich?

Denn die Antwort steht doch schon hier: http://www.delphipraxis.net/internal...002915#1002915
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:39 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