That's a real shame :/ .. I does sound like DirectX is the problem. Or maybe the graphic drivers, I have a NVidia card and it gave me problems using PickedSurface.
Uninstalling DirectX seems to be a big problem, but maybe you could use system restore if you're on XP ? I tried to write some code that does the same as yours, sort of as a checkup:
I think you can make a workaround for this trouble, since images with a height of 5 are working, create the images at 640x5, but only CopyRect one line on it. This way you'll need 4 times more memory, but you can avoid this nasty bug. And have you installed the lasted Blitz ? Maybe you could try downgrading to a previous version.
(edit)
He, I was thinking .. maybe you could load the image with LoadAnimImage, and then set the tilesize to 640x1 ..
Uninstalling DirectX seems to be a big problem, but maybe you could use system restore if you're on XP ? I tried to write some code that does the same as yours, sort of as a checkup:
Graphics 640, 480, 0, 2 ;create array Dim im_l(480) ;select block height fStep = 1 ;draw ovals on screen For i = 0 To 1000 Color 0, 0, Rand($FFFFFF) Oval Rand(800), Rand(600), Rand(120), Rand(100) Next ;create/grab images For y = 0 To 479 / fStep im_l(y) = CreateImage(640, fStep) ;method I ;GrabImage im_l(y), 0, y * fStep ;method II CopyRect 0, y * fStep, 639, fStep, 0, 0, BackBuffer(), ImageBuffer(im_l(y)) Next ;main loop Repeat Cls time = time + 1 ;draw images For y = 0 To 479 / fStep DrawBlock im_l(y), Cos(time + y) * 50, y * fStep Next Flip Until KeyHit(1) End
I think you can make a workaround for this trouble, since images with a height of 5 are working, create the images at 640x5, but only CopyRect one line on it. This way you'll need 4 times more memory, but you can avoid this nasty bug. And have you installed the lasted Blitz ? Maybe you could try downgrading to a previous version.
(edit)
He, I was thinking .. maybe you could load the image with LoadAnimImage, and then set the tilesize to 640x1 ..