Can anyone give me a pointer as to a good technique that can be used to display a rectangular Bitmap on a form rotated though an arbitray angle? (ie not necessarily 90,180,270 degrees).

I know how to do the maths, I just need to know the process...

Do I really need to copy the Bitmap into Memory and then transform it pixel by pixel? I'm hoping that I don't. I'm also hoping to avoid calling non-managed code (I've seen examples of how to do it in C/C++). I would like to do it all in C#.

Any pointers appreciated. I'm sure someone here has done this before.