Moin!
Für rechtwinklige Drehungen musst du nur einmal überlegen: 90°(mathematisch, gegen den Uhrzeigersinn) gilt für jedes Pixel x' := y; y' := x_max - x;
Alles weitere durch Rekursion
Also: Neues Bild erzeugen(tmp := TBitmap.Create;), Größe setzen, und dann die Pixel einzeln kopieren.
Was du bald merken wirst: Es ist langsam. Deshalb ist es möglich, Bilder zeilenweise zu erfassen. Alles weitere dazu findest du in der Suche, unter 'Scanline'.
Edit: Als kleines Beispiel zum drehen von Bildern allgemein kann vllt. das hier dienen:
www.delphi-forum.de/viewtopic.php?t=83737
lg,