If mapped onto a cylinder, the distortion would come into play if the cylinder's radius was too small. The bigger you scale it equally on the X and Z axis, the less distortion you would get as the projection surface gets less curved.
However, doing this would then stretch the image horizontally, but
should be compenated for by scaling up equally on the Y axis too.
To answer your question, in 3D you need three plains, all the width and height of the image. In 2D, load the image three times - one into image 1, one into image 2 and one into image 3. The principal is the same whether working in 2D or 3D - you are just working with Plains in 3D and Images in 2D.
Paste image number 2 on the screen at 0,0. Paste image 1 to the left of image 2 at -imagewidth. If the image is 10501 pixels wide then paste it at -10501. Image 3, you paste at 10501.
But, it's done with variables:
Img1x = -10501
Img2x = 0
Img2x = 10501
Then use in your main loop:
Do
If Leftkey()=1
Dec Img1x,1
Dec Img2x,1
Dec Img3x,1
Endif
If Rightkey()=1
Inc Img1x,1
Inc Img2x,1
Inc Img3x,1
Endif
If Img1x = 0 or Img3x = 0
Img1x = -10501
Img2x = 0
Img2x = 10501
Endif
Paste Image 1,Img1x,0
Paste Image 2,Img2x,0
Paste Image 3,Img3x,0
Sync
Loop
The problem is, I'm not sure how DB is going to react to either the size of the image or the pasting of the image at such a distance off screen.
It works fine with -800 so you can scroll a full screen, but an image over 10K pixels wide is another story!
TDK_Man