CONVERTIR LE CODE DE COULEUR RGB EN DIRECTX

Signaler
Messages postés
363
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
25 août 2003
-
shadowmoy
Messages postés
340
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
25 août 2007
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/2422-convertir-le-code-de-couleur-rgb-en-directx

shadowmoy
Messages postés
340
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
25 août 2007

CreateColorRGBA ne fonctionne plus sous Vista apparament il faut se coder une fonction equivalente pour remplacer celle ci
pas bien grave mais c'est chiant pour tester les sources dx7 sous vista il faut remplacer par:

Public Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef dest As Any, ByRef src As Any, ByVal dwLen As Long)

'Entrée : un Long RGB pour windows
'sortie : un long BGR pour dx

Public Function LongToDxColor(ByVal pColor As Long) As Long
Dim pRGBentry As RGBColor
Dim s As Byte
CopyMemory pRGBentry, pColor, 3
'swap windowscolor to directxcolors inverse red and blue values
s = pRGBentry.Red
pRGBentry.Red = pRGBentry.Blue
pRGBentry.Blue = s
LongToDxColor = RGB(pRGBentry.Red, pRGBentry.Green, pRGBentry.Blue)

End Function

'pour ton exemple :

ck.low =LongToDxColor(rgb(110,80,52))
ck.Hight =LongToDxColor(rgb(110,80,52))
TheRedman
Messages postés
24
Date d'inscription
vendredi 22 août 2003
Statut
Membre
Dernière intervention
29 juin 2004

Chez moi ça ne marche pas :-(
Ma couleur : 110 80 52 donc je mets ck.low rgb2dx(110,80,52) et ck.high rgb2dx(110,80,52) mais le brun reste brun...
J'ai bien mis SurfacePersos.SetColorKey DDCKEY_SRCBLT, CK et quand je blitte je mets encore BackBuffer.Blt DDRect(100, 100, 200, 200), SurfacePersos, DDRect(0, 0, 0, 0), DDBLT_WAIT Or DDBLT_KEYSRC. Mais rien ne se passe...

Help ?!
cs_Kaya
Messages postés
7
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
16 août 2002

Bien entendu sous directx8 la fonction est deja declarer

D3DColorXRGB(r As Integer, g As Integer, b As Integer) As Long

chao ;)
cs_shivan
Messages postés
363
Date d'inscription
jeudi 20 décembre 2001
Statut
Membre
Dernière intervention
25 août 2003

ben voila, j'en apprend encore un peu sur directx !!! merci !! 8/10