Ver Mensaje Individual
  #17  
Antiguo 19-06-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
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.
Responder Con Cita