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 :
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
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
POur l'affichage j'utilise ce code
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
TempSurface contenant ma surface
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)
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
Partager