Assuming you basically want half an image on each side then I would tackle it like this.
I would use :before to create a pseudo element on both the left and right curtains.
Then I would make this element twice the width of the half curtain (200%). The left and right curtains (the element the pseudo is attached to) would need overflow:hidden added to stop the oversized pseudo elements showing.
Then you would place the same image in both left and right pseudo elements. Those elements will need to be absolutely positioned and fill the height but be twice the width of the half as already mentioned.
The right side pseudo element would need to have a left position of minus 100% to match it up with the left side image. You would now have two half images that should match to produce a whole image.
Remember to remove the original image from the parent.
Luckily I am not near a computer until tomorrow so you will have to try and do this yourself.
There are other ways if you don’t mind stretching the picture but the pseudo element method is best.
If this is a full viewport screen curtain then it would be better as a fixed positioned element because when the curtain slides the page suddenly gets ten times as tall and the image then expands and loses its impact. If you covered the viewport with a fixed positioned curtain then the size wouldn’t change when opened.
I used pointer events none because I wasn’t sure if you were detecting a click on the window or a specific item and was just making sure the curtains weren’t clickable.
I don’t believe the pointer events none is needed in this example so you should be able to remove it