I have square image and I need to set that image as background. But I need that image to render differently in portrait and landscape mode.
As shown in the picture, the same image should be applied for both landscape and portrait but each should show different part of the image maintaining the same pivot point. The black dot in the image represents the pivot point.
Is it achievable with the same image? I can do with two different images.
Is it achievable with svg image?

Assuming you are actually using an SVG image for your image...
All you should have to do is:
viewBoxpreserveAspectRatio="xMidYMid slice". This setting is equivalent to CSSbackground-zise: cover.Demo