alright you could have used the searchengine since this has been asked (and answered) many times...
but here we go
one elegant way would be to use Direct3d and just move around a polygone with a texture on it (the fastest way)
or another one would be the also pretty fast way David Brebner has on his page www.ur.co.nz (I believe the turorials name is 24bit rotation)
Quite a while ago on Planet Source Code someone submitted a DLL that did loads of complex Image functions, like Alpha blending, masking, rotating, etc, but I can't remember the URI for it It was in the VB section, and he wrote the DLL in C++ so it was really fast