Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: EOutOfRessources bei vielen Bitmap-Operationen

  Alt 21. Jun 2005, 19:06
Hola Sanchez,

ich bin kein Grafikspezialist, also nur zum Abgleich unseres Verständnisses von TBitmap...

Mit LoadFrom...() wird ein lossless image von der externen Bitmap-Datei im Speicher erzeugt. Sobald du an dem Bild rumspielst, wird eine Kopie davon erzeugt - dabei wird die Farbtiefe auf 16 reduziert. Statt Rumspielen kannst du das Kopieren auch mit Dormant() erzwingen. Der Schlafmodus bezieht sich dabei offenbar auf das lossless image. Der Verbrauch von GDI-Resourcen wird dabei verringert, aber der Speicherbedarf kann steigen. Mit FreeImage() kannst du den Speicher des dormant image freigeben. Mit ReleaseHandle() werden handle und image voneinander getrennt, z.B. zwecks Freigabe des Handles mit DeleteObject().

Wenn alle deine Arbeiten mit dem Bitmap beendet sind, dann solltest du nach meiner Meinung das klassische Free() aufrufen, bevor du mit Assign() zum nächsten Bild gehst. Vielleicht habe ich dich mit meinem unbedachten Hinweis auf die vielen bunten Methoden aus dem Delphi OH Beispiel ein wenig in die falsche Richtung gejagt...

vaja con dios

Zerknirschte Grüße vom marabu
  Mit Zitat antworten Zitat