Bueno, yo tampoco estoy fuerte en delphi, simplemente adapte el
truco 455 para poderlo compilar y usar desde el Builder C++. El autor del código original es
Javier Ferrari.
Como te decía el corazón es la API de windows GDI
PlgBlt a la que puedes acceder desde C++ Builder directamente. La información de su uso la tienes en la ayude del Builder para API Win32 y en la web de
Microsoft. Quizás esté mas clara la explicación de la ayuda de Builder, aunque el origen de la misma es Microsoft.
El resto del código no es mas que una preparación de los tres puntos vértice del paralelograma destino que está rotado y los datos del rectángulo de origen (x, y, ancho y alto).
Observa que al rotar la imagen sobre el rectángulo original, quedan zonas vacías que se rellenan con una máscara si la defines. La API
PlgBlt también permite escalar la imagen, con lo que puedes cambiarla de tamaño.
Experimenta con ella. Espero haberte servido de alguna ayuda.
Saludos.