Bonjour tout le monde,

je suis en train de développer une application en VB.Net à l'aide de directX 9.

Dans mon code, je créé une surface comportant une image. J'aimmerais rendre le blanc de mon image tranparent.

Pour cela j'utilise ce code :
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
 
Dim Image As String = "C:\Users\Kevin\Desktop\source vb\Space Inventer\BIN\JOUEUR.ER"
Dim Surface As Surfaces
Dim Description As Microsoft.DirectX.DirectDraw.SurfaceDescription = New Microsoft.DirectX.DirectDraw.SurfaceDescription
Dim colorKey As Microsoft.DirectX.DirectDraw.ColorKey
 
colorKey.ColorSpaceHighValue = Color.White.ToArgb 'on définit le blanc comme couleur transparente
colorKey.ColorSpaceLowValue = Color.White.ToArgb  'on définit le blanc comme couleur transparente
 
Description.Width = 200
Description.Height = 300
Surface.Surface = New Microsoft.DirectX.DirectDraw.Surface(Image, Description, DD)
Surface.Surface.SetColorKey(ColorKeyFlags.SourceDraw, colorKey)
Surface.Haut = 200
Surface.Gauche = 200
Je précise que Surface est une structure de ce type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
    Private Structure Surfaces
        Dim Haut As Integer
        Dim Gauche As Integer
        Dim Surface As Microsoft.DirectX.DirectDraw.Surface
    End Structure
POur l'affichage j'utilise ce code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
DDBuffer.DrawFast(tempsurface.Gauche, tempsurface.Haut, tempsurface.Surface, DrawFastFlags.DoNotWait)
DDPrimary.Flip(DDBuffer, FlipFlags.DoNotWait)
TempSurface contenant ma surface

Le probleme est que l'image apparait toujours avec le blanc

Pourriez vous m'indiquer d'où vient l'erreur d'il vous plait?

Je vous remercie pour votre aide
Cordialement