Thanks for your feedback.
I don't quite get the onIdle method. How are you controlling the speed? The point of a TTimer is that it makes it run the same speed on any computer. Also, your version uses 100% of the processor!
I like your algorithm because the linear interpolation can be done by pre-calculating an increment value so that all you're doing is incrementing for each pixel. However, I don't need stretch and I'm not sure I can be bothered to re-write it.

Peter