Seite 3 von 3

Re: SaveImageToMemory() [Windows-Only]

Verfasst: 10.04.2012 08:12
von Christian+
So wie ich den Code verstehe enthält der Parameter MemSize der Funktion nach dem Speichern die passende Größe.
Das RealMemSize im Code kannst du löschen das ist überflüssig.
Ruf einfach nach dem SaveImageToMemory einmal ReAllocateMemory auf oder bau es die gleich in die Funktion mit ein.

Code: Alles auswählen

*ImageMemory = SaveImageToMemory(Image, @MemSize)
*ImageMemory = ReAllocateMemory(*ImageMemory, MemSize)
Edit: Wenn es dir auf den Speicherplatz ankommt eigentlich sollte ImageDepth(Image) doch die Bittiefe zurückliefern da AllocateMemory aber Bytes als Parameter nimmst sollte da dann vor allem bei großen Bildern noch Optimierung möglich sein da immer das 8 Fache an Speicherplatz zu reservieren überflüssig ist wenn maximal noch ein kleiner Header dazukommt der nicht im gleichen Verhältnis wie die Bildgröße anwächst.

Re: SaveImageToMemory() [Windows-Only]

Verfasst: 10.04.2012 13:56
von pyromane
Direkt nach dem ich den Beitrag gepostet habe, ist mir auch wieder eingefallen das es ja noch nen MemSize gibt und das ja nicht umsonst da drin ist. Werde das ganze gleich mal testen. Das mit der Bildtiefe stimmt.