Loading images into arrays
BlitzMax Forums/BlitzMax Beginners Area/Loading images into arrays| 
 | ||
| What im trying to do is load an animated image (Animimage) into an array segment, using the following code: strict graphics 640,480,16 IncBin "Data\Apple.PNG" Global Array[10] Array[0] = LoadAnimImage( "incbin::Data\Apple.PNG", 32, 32, 0, 7 ) DrawImage Array[0], rnd( 640 ), rnd( 480 ), 0 flip Repeat;until keydown(KEY_ESCAPE)=1 end The thing is at the Drawimage it keeps chucking up a error something about Null images and when I look the image isnt loaded into the array. Can images only be loaded into variables now or is there something im not doing right? | 
| 
 | ||
| images arent stored by Index anymore- theyre loaded as an object... I've not used max or a while but something like Global Array:TImage[10] should make it work. ....Hey... Heh.... I'm kind of a newbie too, Shouldn't that code work at default? | 
| 
 | ||
| This works OK... 
Strict
Graphics 640,480,16
Incbin "max.PNG"
Global Array[10]
Local frame:Int
Array[0] = LoadAnimImage( "incbin::max.PNG", 32, 256, 0, 7 )
While Not KeyHit(key_escape)
    Cls
	DrawImage Array[0], 0,0, frame
	DrawText frame,0,300
	frame:+1
	If frame=7 frame=0
	Flip 
	FlushMem
wend
End
 | 
| 
 | ||
| *Pastes* i *think* you need the Ramstream module for IncBin to work :) Im not at my puter so i cant give you the correct full name. Maybe "BRL.RamStream" ---- I see you havent done any module stuff, so i dont know if this is your problem :) | 
| 
 | ||
| *Pastes* i *think* you need the Ramstream module for IncBin to work :) Im not at my puter so i cant give you the correct full name. Maybe "BRL.RamStream" ---- I see you havent done any module stuff, so i dont know if this is your problem :) | 
| 
 | ||
|  i *think* you need the Ramstream module for IncBin to work :) Im not at my puter so i cant give you the correct full name.  He doesn't need to include it since he isn't using framework. | 
| 
 | ||
| *Blows Raspberry at Pert* | 
| 
 | ||
| }:þ | 
| 
 | ||
| Someone posted in a different thread that you need to use forward slashes '/' with incbin. Not tested it though. | 
| 
 | ||
|   Someone posted in a different thread that you need to use forward slashes '/' with incbin. Not tested it though.  You should just always use forward slashes regardless. Backwards slashes was a stupid idea, and just goes to show how unimaginative and clumsy Gates and Allen where, when trying to be innovative. I can just imageine the scene now; Gates: We need to do have some way of accessing resources so it doesn't look like we riped off Ritchie and Thompson. Allen: I know, we'll use drive letters, instead of a virtual filesystem! Gates: Good idea. Except Kildall already had that one. Allen: No worries, we'll just use awkward backwards slashes, so accessing directories is a right pain. Gates: Awesome idea, we wouldn't want people to actually enjoy using this. That way we can control job security for ourselves and future employees and fanboys. It was a dumb idea then, and remains so to this day. Somewhere along the line (probably after the death of CP/M) MS-DOS would suddenly accept forward slashes as a valid directory delimiter. And there was much rejoicing! | 
| 
 | ||
| yeah the wiki mentions forward slashes and the TImage thing works. Pitty the official docs that come with BlitzMax dont. | 
| 
 | ||
| edz, a good tip is if you're going to use images like this local i=loadimage() you have to release them like so: release i If you declare them as :TImage, flushmem will automagically get rid of them for you if they have a 0 reference count. At least this is what the docs say, but I didn't read it until way through my project. | 
| 
 | ||
| im declaring as TImage atm as this is good for arrays :D | 
| 
 | ||
| it's all good, baby |