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:
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.
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 !");
Si quelqu'un pouvait donc me renseigner sur la gestion de couche alpha avec directdraw ce serait cool.
Merci d'avance
Partager