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