IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

rotation 90 ° directdraw


Sujet :

DirectX

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 41
    Points : 28
    Points
    28
    Par défaut rotation 90 ° directdraw
    Bonjour,

    Mon problème est celui-ci, je dois faire la maintenance d'un vieux produit développé sous directdraw 7 et cette mise à jour nécessite des rotations à 90° d'images. Les cartes graphiques utilisées ne supportent pas la rotation sous directdraw [j'ai vérifié avec le caps] aussi je ne peux pas faire de blit avec l'option rotation (je me demande même si ce truc à déjà été un jour supporté).
    Donc je dois faire "manuellement" la rotation. Je travail en mode "windowed", j'aimerais savoir si quelqu'un d'entre vous sait où je pourrais trouver un tuto qui expliquerait comment recopier une surface d'un backbuffer dans un autre backbuffer en y appliquant une rotation de 90° pixel par pixel.
    Bien évidement je sais que directx (>=8) le fait mais bon le programme actuel est trop vieux pour que j'envisage de tout réécrire avec d3d, ce sera certainement la dernière modif que je ferais dedans.

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par fabrice001 Voir le message
    je me demande même si ce truc à déjà été un jour supporté).
    cela n'a jamais été supporté à ma connaissance

    Donc je dois faire "manuellement" la rotation. Je travail en mode "windowed",
    oui !

    il faut :
    1-déterminer l'ensemble de points sur lequel on effectue une rotation ( matrice)
    donc il y a un point d'origine en x et y et la hauteur , largeur bitmap
    2-en fonction de cela , il faut verrouiller la DDSurface avec Lock() et déterminer le pitch ou décalage en pixels
    3-Avec Lock() on peut obtenir un tableau de pixels et on fonction de ce tableau de pixels on peut calculer la rotation de ces pixels ( avec des opérations trigos)
    Il faut savoir si la rotation s'effectue selon le centre de la bitmap ou bien s'il y a un point de pivot par exemple le coin haut et gauche
    4-après il faut appeler Unlock() pour déverouiller la DDSurface

    Citation Envoyé par fabrice001 Voir le message
    comment recopier une surface d'un backbuffer dans un autre backbuffer en y appliquant une rotation de 90° pixel par pixel.
    à ce moment-là si tu veux faire une rotation de 90% c'est plus facile; il suffit de prendre pixel par pixel par exemple le premier en x0,y0 il va se retrouver en x0+largeur_bitmap, y0 et ainsi de suite.

    Je vais rechercher mais il y a la possibilité aussi de faire un "flip" selon un axe horizontal ou vertical d'une DDSurface

Discussions similaires

  1. Besoin du fichier d'aide du SDK DirectX7 (pour DirectDraw)
    Par Magus (Dave) dans le forum DirectX
    Réponses: 5
    Dernier message: 02/10/2002, 13h08
  2. Taille des surfaces avec DirectDraw
    Par Shakram dans le forum DirectX
    Réponses: 5
    Dernier message: 09/09/2002, 00h42
  3. Effet Fade In / Fade Out sur une surface DirectDraw
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 08/09/2002, 17h37
  4. algo : rotation d'objet 3d
    Par numeror dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 19/08/2002, 22h58
  5. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 13h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo