You could do it based on his velocity. Then, just use a bit of trig to determine the image_angle.
For example:
image_angle = inverseCosine(velocity.x / velocity.length).
Actually, it may be better to use the inverse of tangent and use the velocities X and Y component so that the rotation works for any direction.
For example:
image_angle = inverseCosine(velocity.x / velocity.length).
Actually, it may be better to use the inverse of tangent and use the velocities X and Y component so that the rotation works for any direction.