I am hoping the commandset for BlitzPlus includes GrabImage. This is invaluable.
Blitz doesn't reuquire textures in strips, but can handle blocks too, once it reads the end of the row, it then moves to a next row if one exists. Meanign that 360 frames dont have to be 1 x 360 but could be in a block of 15 x 12 or even 3 blocks of 5 x 4. So if this is to be re-used by Blitz, hopefully, you can do this.
All you would need to do, essentially, is something like this:
Const TotalFrames=360
Function ExportStrip(Texture,FilePath$="",Filename$="Strip")
TemporaryFrame=CreateImage(TextureWidth(Texture),TextureHeight(Texture))
Strip=CreateImage(TextureWidth(Texture)*TotalFrames,TextureHeight(Texture))
For IterFrames=1 To TotalFrames
SetBuffer TextureBuffer(Texture,Frames)
GrabImage TemporaryFrame,0,0
SetBuffer ImageBuffer(Strip)
DrawImage TemporaryFrame,(IterFrames-1)*TextureWidth(Texture),0
Next
SaveBuffer (ImageBuffer(Strip),FilePath$+""+Filename$+".bmp")
End Function