[ERLEDIGT] Wie auf Array mithilfe eines Pointers zugreifen?
Verfasst: 25.10.2020 21:53
Wie auf ein Array mithilfe eines Pointers zugreifen?
Ich würde gerne ein Array verwenden um auf die einzelnen Pixel im Speicher zuzugreifen.
Irgendwie geht das doch oder?
Code:
Ich würde gerne ein Array verwenden um auf die einzelnen Pixel im Speicher zuzugreifen.
Irgendwie geht das doch oder?
Code:
Code: Alles auswählen
EnableExplicit
Structure VIDEO_BUFFER
width.i
height.i
*bits
size.i
EndStructure
Structure PIXEL
Array color.Long(0,0)
EndStructure
Procedure.i VideoBuffer(Width.i,Height.i)
Protected *buffer.VIDEO_BUFFER
Protected bytes.i
bytes = (Width * Height) * 4
*buffer = AllocateMemory(bytes + SizeOf(VIDEO_BUFFER))
If *buffer
With *buffer
\width = Width
\height = Height
\bits = *buffer + SizeOf(VIDEO_BUFFER)
\size = bytes
EndWith
EndIf
ProcedureReturn *buffer
EndProcedure
Procedure.i Main()
Protected *vid.VIDEO_BUFFER
Protected *pixel.PIXEL
*vid = VideoBuffer(320,200);nur zu Demozwecken - in Realität haben wir nur den Zeiger/Pointer auf einen VIDEO_BUFFER...
If *vid
Debug "Buffer: 0x" + Hex(*vid)
*pixel = *vid;<- Zeiger/Pointer übergeben...
Debug *pixel\color(10,10);<- wie kann ich das array verwenden?
FreeMemory(*vid)
EndIf
ProcedureReturn #Null
EndProcedure
Main()
End