Hey, doing a color matching thing would be entirely possible. If I were doing that, I'd first build a png tilemap that defines the walls, floors, and whatever else for your map. This would be like a tilemap, with each color is 1 pixel. Then define the size of each tile, so maybe 32X32 or something. When you define the size of the level, it would be the width of your tilemap * 32 (and same for the height).
then at load, loop through the image and grab the color values out and build an array of ints based on the color value. So like, if the color for the floor is red, and the image value is red, then store that value as 0 or something. If the color is black, maybe store the value as 1. Then for your player class, you can check to see which tiles are nearby the player, and if each tile is able to be walked on or not, based on if the tile value is 0 or 1.
Does that make any sense?
But what might be easier than the color values is just using TileMapAtlas. In this scenario, you'd use some editor like Tiled to build your map using tiles and codes. Then you can use Tiled to export to a .tga file, which can be read in by TileMapAtlas. Once you have that, you can use tileAt(x,y) to get the value of any tile, and see if it's able to be walked on or not, based on codes or types of tiles. I think there was a good example of this in a project called "Pusher." Google for that... I'm also working on a platformer, which hopefully I'll be able to clean up and post some source for here.