Rotation d’une image en DirectDraw

Rotation d’une image en DirectDraw - C++ - Programmation

Marsh Posté le 12-11-2005 à 14:59:24    

Bonjour,
Voila mon problème :  
Je souhaite faire tourner une image (Surface) à l’écran. J’ai trouvez sur le site MSDN que l’on
pouvais utiliser la fonction Blt() avec le flag DDBLT_ROTATIONANGLE, mais je n’ai
trouvé aucun exemple.
 
Voici mon code :
 

Code :
  1. DDBLTFX Fx;
  2. ZeroMemory(&Fx,sizeof(Fx));
  3. Fx.dwSize = sizeof(Fx);
  4. Fx.dwRotationAngle = 30000; //rotation de 30°
  5. g_pDisplay->GetBackBuffer()->Blt( &rcDest,g_pFighterBitmap->GetDDrawSurface(), &rcSource,DDBLT_ROTATIONANGLE|DDBLT_WAIT | DDBLT_KEYSRC, &Fx );


 
Mais rien ne s’affiche, alors que si j’enlève le flag DDBLT_ROTATIONANGLE, l’image est affiché mais sans rotation.
 
Donc si quelqu’un sait comment faire, j’apprécierais vraiment qu’il m’explique.
D’avance merci.


Message édité par Lereveur le 12-11-2005 à 16:08:42
Reply

Marsh Posté le 12-11-2005 à 14:59:24   

Reply

Marsh Posté le 12-11-2005 à 20:23:27    

Code :
  1. DDBLT_ROTATIONANGLE  This flag is not supported on Windows 2000 and later and should be ignored by the driver.


 
http://msdn.microsoft.com/library/ [...] 86.xml.asp
 

Reply

Marsh Posté le 12-11-2005 à 21:34:26    

okay ... donc quelqu'un sait comment faire autrement ?

Reply

Marsh Posté le 12-11-2005 à 22:54:39    

DirectDraw n'est pas (plus) fait pour ça. C'est une interface de bas niveau pour accéder à la mémoire video.
Tu devrais plutot regarder du coté de Direct3D.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed