![]() |
Re: Prüfen, ob Bitmap leer ist ?
bitmap.free gibt den speicher frei er existiert aber freeandnil loescht direkt den inhalt.
|
Re: Prüfen, ob Bitmap leer ist ?
Hi Leute.
Zitat:
|
Re: Prüfen, ob Bitmap leer ist ?
Zitat:
Und was ist in der Praxis besser ? |
Re: Prüfen, ob Bitmap leer ist ?
Hallo,
Zitat:
Hier mal ein Beispiel:
Delphi-Quellcode:
Bitmap := TBitmap.Create;
Bitmap.Free; if Assigned(Bitmap) then // Assigned sagt True, weil Bitmap <> nil Bitmap.Width := 10; // Hier kracht's
Delphi-Quellcode:
Aber jetzt mal zurück zum Thema:
Bitmap := TBitmap.Create;
FreeAndNil(Bitmap); if Assigned(Bitmap) then // Assigned sagt False, weil Bitmap = nil Bitmap.Width := 10; // Wird nie ausgeführt TBitmap.FreeImage macht genau das, was auch in der Hilfe steht: Es gibt Speicher frei, was sich auf das Bitmap auswirken kann. Ein solcher Aufruf löscht nicht das Bitmap. Wenn ich ein Bitmap löschen möchte, gehe ich immer so vor:
Delphi-Quellcode:
Damit sage ich dem TBitmap, dass es bitte ein neues Bitmap (Windows-Objekt, nicht Delphi-Objekt) anlegen soll. Leider gibt es keine fertige Funktion, die sowas macht.
OldHeight := Bitmap.Height;
Bitmap.Height := 0; Bitmap.Height := OldHeight; Gruß xaromz |
Re: Prüfen, ob Bitmap leer ist ?
Danke für Deine Antwort :thumb:
Schade, dass es so eine Funktion nich in Delphi gibt. Naja, dann mach ich es halt einfach so:
Delphi-Quellcode:
Warum dann wieder auf die alte Größe setzen :gruebel: ?
Bitmap.Width := 0;
Bitmap.Height := 0; So funktioniert wenigestes die 4. Variante aus dem ersten Posting. |
Re: Prüfen, ob Bitmap leer ist ?
Zitat:
Zitat:
|
Re: Prüfen, ob Bitmap leer ist ?
Danke nochmal für eure Antworten!
Das "leeren" des Bitmaps mache ich jetzt, indem ich die Breite und Höhe auf 0 setze. Die alte Größe brauch ich nicht mehr, da ich nicht mit Canvas zeichne sondern mir eine neues Bitmap über eine der Bitmap.LoadFrom...-Methoden hole. Das Überprüfen, ob das Bitmap leer ist, mache ich jetzt mit Bitmap.Empty. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz