When I use API to create a map image, I use the MgRenderingService. If you use fusion, then I found pass paramters of extent is just create a data scale (not the view extent) and image is not same with your zoom level; So we need to pass map center coordinates, scale parameters to create a map image which is same with the view of your map. Share this information.