0/5 (4 avis)
Snippet vu 5 689 fois - Téléchargée 49 fois
Public Function RGB2DX(R As Long, G As Long, B As Long) As Long 'Converti le code de couleur RGB en code de couleur DX RGB2DX = DX.CreateColorRGBA(CSng((1 / 255) * R), CSng((1 / 255) * G), CSng((1 / 255) * B), 0) End Function
10 mai 2007 à 13:17
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))
25 avril 2004 à 10:25
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 ?!
29 juil. 2002 à 03:25
D3DColorXRGB(r As Integer, g As Integer, b As Integer) As Long
chao ;)
15 janv. 2002 à 23:25
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.