When you rotate a landscape image by 90 degrees into a portrait image it will keep it centered to it's original position. Since your width and height are 100 pixels apart from one another, the transform distributes the difference to the top and bottom, that's where your 50 pixels comes from.

weird positioning problem while rotating image in Javascript
My question is how was this picture taken.
And I've got a few assumptions I made regarding the photo, please correct me when I am wrong.


Low aperture value, like 1.4-2.0
Quite high shutter speed, my guess is that it was 400-500
Auto iso speed


That's how I would have taken a picture like this. The other thing is that it has some vignetting - I guess, it's a postprocessing.
What else? It looks to me that some other postprocessing had to be done.

And what kind of lens you think it was?
My guess is that it was some zoom-lens, but that's all I can tell.


