Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Welche Bitmap-Größen sind machbar?

  Alt 20. Okt 2020, 18:22
Da im BMP-Header die Felder für Dateigröße (uint32) und Width/Height (int32) sind, wären theoretisch
2*2 Milliarden Pixel mit insgesamt bis 4 GB Dateigröße möglich.
Aber durch die 4 GB sind es bei 32 bpp somit maximal 32.700 x 32.700 (oder z.B. 66.830.000 x 16).

ABER da du das Bitmap als einen Block im Speicher liegen hast, sind in 32 Bit Windows effektiv etwa bis 150.000 32 Bit-Pixel möglich, also 12.000 x 12.000.
Da es durch die Speicherfragmentierung erfahrungsgmäß selten zuverlässig gelingt mehr als 600 MB zusammenhängend zu finden, in einem "realen" und etwas größeren und längerlaufendem Programm.

Bei 32 Bit mit 4 GB-Option (IMAGE_FILE_LARGE_ADDRESS_AWARE) oder besser noch mit 64 Bit, da wird es einfacher ausreichend Speicher zu finden.


Und im FMX ist TBitmap ... nja, da kannst es gleich vergessen.
https://www.delphipraxis.net/205291-...mx-vs-vcl.html
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (20. Okt 2020 um 18:33 Uhr)
  Mit Zitat antworten Zitat