bonjour à tous,
Je souhaite afficher 2 images (textures) à l'écran. Jusque là pas de probleme. Je souhaite ensuite créer un effet de transparence de la première sur la deuxième et là j'ai beau essayer avec ce que je trouve sur le net je n'y arrive pas.
Voici ce que j'ai dans l'initialisation:
dans le OnPaint de la form:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ... device.RenderState.SourceBlend = Blend.SourceAlpha; device.RenderState.DestinationBlend = Blend.InvSourceAlpha; device.RenderState.AlphaBlendEnable = true; spriteTexture = TextureLoader.FromFile(device, @filename, 0, 0, 1, Usage.None, Format.Unknown, Pool.Managed, Filter.None, Filter.None, Color.Magenta.ToArgb()); spriteTexture2 = TextureLoader.FromFile(device, @filename2, 0, 0, 1, Usage.None, Format.Unknown, Pool.Managed, Filter.None, Filter.None, Color.Magenta.ToArgb()); ...
Voila. et le prob c'est que tout s'affiche correctement mais pas de transpence
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 device.Clear(ClearFlags.Target, System.Drawing.Color.Black, 1.0f, 0); device.BeginScene(); sprite.Begin(SpriteFlags.AlphaBlend); spriteTexture.Draw(t, r, Center, position, Color.White); spriteTexture2.Draw(t2, r2, Center2, position2, Color.White); sprite.End(); device.EndScene(); device.Present();![]()
Un peu d'aide et d'explication serait la bienvenue (même si c pour tout refaire en directdraw)
Partager