Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#3

AW: TBitmap mit 50.000 x 50.000 pixel

  Alt 24. Nov 2021, 11:09
Der Speicherverbrauch bei Bildern ist im Arbeitsspeicher (soweit ich weiß) nicht von der Größe der Datei abhängig, sondern von der Größe des darzustellenden Bildes.

Der Speicherbedarf lässt sich wie folgt berechnen:
Speicherbedarf = (Breite in Pixeln x Höhe in Pixeln) x (Farbtiefe in Bit / 8)

Bei 50.000 * 50.000 * 24 / 8 kommen da dann mal eben 7.500.000.000 Byte zusammen. Das sind dann gerade mal so um die 6,98 GB.
Bei 25.000 * 25.000 * 24 / 8 sind es immernoch 1,75 GB, also ein Viertel.

Je nach Implementierung werden (wie TiGü schon schrieb) pro Pixel 4 Byte benötigt. Damit steigt der Speicherverbrauch dann noch um 25%. Die muss man dann auch erstmal zur Verfügung haben.

IrfanView scheint nicht das ganze Bild vollständig in den Speicher zu laden, sondern nur den Teil, der gerade angezeigt / bearbeitet wird.

Ansonsten schau Dir mal ImageEn an, die können in Bezug auf Bildmanipulation recht viel. Eventuell gehen die ja mit großen Bildern etwas speicherschonender um, als TBitmap ...
  Mit Zitat antworten Zitat