You've set the colour to be magenta, but then you've never changed it back to white before rendering your texture.
glColor affects all vertices after it. Textures are multiplied by the vertex colour (based on tex env modes), so to render an image without any tinting, you will want to use white as the vertex colour.
glColor4f(1f, 1f, 1f, 1f);
glColor4f(1f, 0f, 1f, 1f);
//draw coloured rectangle
Also, glColor4f expects a normalized float between zero and one. If you want to use unsigned bytes (0-255) then you'd need to use glColor4ub.