I would do this by assuming flat earth approximation and use vector algebra to relate angles and distances in the lat,lon space to the x,y pixel space.
For example:
I am assuming you know the lat,lon for the bottom left and bottom right corners. Also assuming your fair map isn't near the poles and is fairly small in area.
Pick a coordinate system say bottom left corner with known lat,lon at 0,0 pixels. Called lat1,lon2 in following pseudo code
Compute vector 1 from the bottom right lat2,lon2 to the bottom left lat1,lon1
Using simple projection xl=lon, yl=lat, then vector 1 = (lon2 - lon1)i + (lat2-lat1)j
Compute vector 2 from the lat,lon position of person you want (latp,lonp) to put on the map to the bottom left point lat1,lon1
Use vector dot product to get the angle between vector 1 and 2.
Compute the distance in lat,lon space via equirectangular projection:
p1 = (lonp - lon1) cos ( 0.5*(latp+lat1) ) (convert lat/lon to radians)
p2 = (latp - lat1)
distance = R * sqrt( p1*p1 + p2*p2)
use R = 6371000 and your distance will be in meters
Now scale this distance to your map scale
At this point, you have polar coordinates of the point in pixel space
you now do a polar to rectangular conversion; x = r cos(angle), y = r sin(angle)
r is the scaled distance (i.e. distance in pixel space) and angle is the angle between vector 1 and 2 above
As a sanity check, you could compute the angle of the lat,lon vectors created from the top left to bottom left dotted with the bottom right to bottom left. If the angle isn't close to 90 degrees, there may be too much distortion for your purposes.