Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi maximale Größe von TImage? (https://www.delphipraxis.net/142879-maximale-groesse-von-timage.html)

tkone 5. Nov 2009 10:51


maximale Größe von TImage?
 
Hi. Habe ein von anderen geschriebenes Programm und versuche da einen Fehler zu finden.
Das Programm liest Bilder ein und verarbeitet die. Je nach Bildergröße funktioniert die Verarbeitung oder auch nicht.
Konnte die maximal verarbeitbare Größe auf 22000000 bis 22056990 Pixel eingrenzen.
Was genau in der Verarbeitung passiert kann ich im Moment noch nicht sagen. Jedenfalls haut einen das Programm an folgender Stelle raus, wenn die Pixelanzahl im Bereich ab 22056990 liegt.
Delphi-Quellcode:
Dessin_Kon_VS:=TImage.Create(Self);
Dessin_Kon_VS.Parent:=DessinKon_VS_Form.ScrollBox;
Dessin_Kon_VS.Name:='Dessin_Kon';
Dessin_Kon_VS.SetBounds(5,5,X_Size_D,Y_Size_D); // <-- funktioniert noch
Dessin_Kon_VS.Canvas.Pen.Color:=clWhite;        // <-- Errormeldung
Dessin_Kon_VS.Canvas.Rectangle(0,0,X_Size_D,Y_Size_D);
Dessin_Kon_VS.Canvas.Brush.Color:=clWhite;
Dessin_Kon_VS.Canvas.FloodFill(1,1, clWhite, fsBorder);
Es kommt an der Stelle eine Fehlermeldung EOutOfResources, also nicht genug Speicher.
Dessin_Kon_VS ist vom Typ TImage.

Kann es sein, dass TImage eine Größenbegrenzung hat? Oder evtl der Canvas-Befehl?

turboPASCAL 5. Nov 2009 12:44

Re: maximale Größe von TImage?
 
Zitat:

Kann es sein, dass TImage eine Größenbegrenzung hat?
K. Ahnung.

Aber hast du dir mal überlegt wieviel Speicher du für ein solches Bildchen braucht,

Uwe Raabe 5. Nov 2009 12:46

Re: maximale Größe von TImage?
 
Auf meinem Windows 7 x64 liegt die Schwelle deutlich höher (ca. 500.000.000 Pixel). Dann steigt der Speicherverbrauch aber auch um ca. 2GB, was bei 4Byte pro Pixel ja auch logisch erscheint.

Soweit ich weiß, hängt die maximale Bitmap-Größe vom Betriebssystem, freiem Speicher und auch dem Video-Treiber ab.

Übrigens: für deine 22.056.990 Pixel werden so knapp 90 MB verbraucht.

tkone 5. Nov 2009 15:37

Re: maximale Größe von TImage?
 
Vielen Dank für deine Tipps.
In der Tat war es der Arbeitsspeicher, der das Ganze begrenzt.
Hab jetzt die Auslagerungsdatei auf max. und es funktioniert einwandfrei ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:11 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