@Chrisir suggestion is probably the best and simplest solution to implement, the other methods would be traditional edge checking which depending on the shape youre testing can be quite complex, ie elipses or complex convex or concave shapes or alternatively you can do a pixel color check to see if you are standing on a part of the map which differs from the floor, this would require player orientation info though i think so youre not just testing the players center location but all the points for his outline unless you just wanted to use an approximate rectangle and have that be the player. Think hit box in fps games.
However i think you could get away with approximating all collidable objects as rectangles and the player also, then its just a simple rectangle to rectangle collision, however depending on the number of objects in your scene you may need to make use of some optimisations to avoid speed issues.