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 :

couche alpha avec directdraw


Sujet :

DirectX

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut couche alpha avec directdraw
    Bonjour

    J'ai un petit souci avec directdraw, en effet j'arrive à créer une surface et je cherche à modifier la transparence de la surface, j'ai vu plein d'options concernant la couche alpha lors de la création de la surface.
    Je crée ma surface primaire de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    if(DirectDrawCreate(NULL,&m_pDD,NULL)!= DD_OK)
    AfxMessageBox("Erreur de création de l'interface DirectDraw");
     
    hwnd=m_drawRect.GetSafeHwnd();
     
    if(m_pDD->SetCooperativeLevel(hwnd,DDSCL_NORMAL)!=DD_OK)
    	AfxMessageBox("Probleme de cooperative level");
     
    DDSURFACEDESC ddsd;
     
    ZeroMemory(&ddsd, sizeof(ddsd));
    memset( &ddsd, 0, sizeof(ddsd) );
    ddsd.dwSize = sizeof( ddsd );
     
    ddsd.dwFlags           = DDSD_CAPS;
    ddsd.ddsCaps.dwCaps    = DDSCAPS_PRIMARYSURFACE | DDSCAPS_VIDEOMEMORY;
     
     
    if(m_pDD->CreateSurface(&ddsd,&pDDSPrim,NULL)!=DD_OK)
    	AfxMessageBox("Erreur de création de la surface primaire !");
    Voila pour la surface primaire et je crée aussi une surface secondaire, dans masurface secondaire je charge les données de mon image à partir d'un buffer au format RGBA.
    Si quelqu'un pouvait donc me renseigner sur la gestion de couche alpha avec directdraw ce serait cool.

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Ca remonte à loin tout ça, mais je crois que DirectDraw ne gère pas l'alpha. Peut-être permet-il d'avoir des surfaces RGBA, mais en tout cas tu n'auras jamais d'alpha-blending avec DirectDraw.

  3. #3
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    pas d'alpha blending, passe à DirectGraphics

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Salut à tous!!!


    Bon ben j'ai réussi à trouver un petit tuto sympa où ils affiche une image avec un effet de transparence et grâce à la bonne vieille surface directdraw.
    En fait dans ce programme il y a une fonction qui permet cela, mais bon la fonction est pas évidente à comprendre...
    Mais bon c'est quand même bien et ça me rassure.
    voici le lien pour ceux que ça interesse:
    http://glinfrench.apinc.org/article.php3?id_article=45
    Ce site est vraiment bien!

    Merci pour vos réponse, je pense que je vais quand même jetter un oeil sur ce fameux directgraphics.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Désolé mais je me suis avancé un peu vite

    En fait c'est une technique un peu bourine qu'il utilise, il modifi chaque pixel de sont image et donc c'est plutot lourd en calcul.
    Il n'y a donc pas de fonction directdraw qui gère la transparence!
    Je vais donc me pencher sur Directgraphics

    Encore désolé

Discussions similaires

  1. superposer des vidéos avec couche alpha
    Par flokon dans le forum Android
    Réponses: 0
    Dernier message: 12/06/2014, 09h50
  2. [DELPHI 7] Icone avec couche alpha
    Par dav555 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 06/08/2005, 11h53
  3. Comment afficher un Bitmap contenant une couche alpha ?
    Par pwozniak dans le forum Composants VCL
    Réponses: 9
    Dernier message: 17/01/2005, 19h55
  4. Combiner plusieurs textures avec couches alpha
    Par TibobiT dans le forum OpenGL
    Réponses: 2
    Dernier message: 01/05/2004, 15h20
  5. Taille des surfaces avec DirectDraw
    Par Shakram dans le forum DirectX
    Réponses: 5
    Dernier message: 09/09/2002, 00h42

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