solved (a bit messy).
Strict
Graphics 800,600,0
'Create a Stream object that refers to the file based image.
Global myFileStream : TStream = OpenStream("ball.png", True)
Global size = StreamSize(myFileStream)
'reserve enough ram to take the entire image
Global myRam : Byte Ptr = MemAlloc(size )
'assign ram to a TRamstream
Global myRamStream : TRamStream = CreateRamStream(myRam, size , True, True)
'copy image to ramstream
CopyStream(myFileStream, myRamStream)
SeekStream(myRamStream, 0)
Global myImage:TImage = LoadImage(myRamStream)
While Not KeyDown(KEY_ESCAPE)
DrawImage myImage, MouseX(), MouseY()
Flip
Cls
Wend
CloseStream(myRamStream)
myRamStream = Null
CloseStream(myFileStream)
myFileStream = Null
MemFree(myRam, size ) 'clear the alloced memory
FlushMem
End
*EDIT*
The same thing using a TBankStream:
Strict
Graphics 800,600,0
'Create a Stream object that refers to the file based image.
Global myFileStream : TStream = OpenStream("ball.png", True)
Global myBank:TBank = CreateBank()
Global myBankStream : TBankStream = CreateBankStream(myBank)
'copy image to stream
CopyStream(myFileStream, myBankStream)
SeekStream(myBankStream, 0)
Global myImage:TImage = LoadImage(myBankStream)
While Not KeyDown(KEY_ESCAPE)
DrawImage myImage, MouseX(), MouseY()
Flip
Cls
Wend
CloseStream(myBankStream)
myBankStream = Null
CloseStream(myFileStream)
myFileStream = Null
myBank = Null
FlushMem
End