Convertir un code couleur vers hexadécimal
Convertir un code couleur vers hexadécimal
Comment convertir un code couleur (24bits ou composantes séparées) vers un code couleur héxadécimal (pour une utilisation html) ?
Merci
Merci
Comme ça, par exemple:
PS : Pour la couleur web, je ne suis pas trop sûr, quand même
Re-PS : Je m'étais planté de code : j'ai modifié
Code : Tout sélectionner
;ColorRef = RGB($FF,$FF,$DF) ; Format du sélecteur de PureBasic
;ColorRef = RGB(255,255,223) ; Format normal
ColorRef = 14680063 ; Format retourné par certaines applications
;
Rouge = Red(ColorRef)
Vert = Green(ColorRef)
Bleu = Blue(ColorRef)
ColHex$ = "#"+RSet(Hex(Rouge),2,"0")+RSet(Hex(Vert),2,"0")+RSet(Hex(Bleu),2,"0")
Debug "Couleur Hexa = " + ColHex$
Debug "----------------"
ResRed = Int(Red(ColorRef)/51) : RedWeb = ResRed * 51
ResGreen = Int(Green(ColorRef)/51) : GreenWeb = ResGreen * 51
ResBlue = Int(Blue(ColorRef)/51) : BlueWeb = ResBlue * 51
ColWeb$ = "#"+RSet(Hex(RedWeb),2,"0")+RSet(Hex(GreenWeb),2,"0")+RSet(Hex(BlueWeb),2,"0")
Debug "Couleur Web (216 couleurs)= " + ColWeb$
Re-PS : Je m'étais planté de code : j'ai modifié

-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
la c'est le mode 216 couleurs mais on peut utiliser toute les couleurs maintenant.
entre le hex de la couleur pure et celui du web, il y a juste une histoire d'ordre
car la couleur hex de pure B G R alors qu'il faut RGB
donc il suffit d'inverser le R et le B et c'est bon
entre le hex de la couleur pure et celui du web, il y a juste une histoire d'ordre
car la couleur hex de pure B G R alors qu'il faut RGB
donc il suffit d'inverser le R et le B et c'est bon
Code : Tout sélectionner
CouleurWeb.s = "#" + Hex(RGB(Bleu, Vert, Rouge))
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
2tant intéressé par le code de Régis car plus cours, jel'ai essayé, mais il y a un petit problème : La commande Hex() vire tous les 0 à gauche donc j'ai mis
Et ça marche, je rajoute encore la gestion des polices et je vous donne mon logiciel pour les emails 
Code : Tout sélectionner
Couler.s = Hex(RGB(Blue(Couleur),Green(couleur),Red(Couleur)))
Select Len(Couler)
Case 2
Couler = "0000" + Couler
Case 3
Couler = "000" + Couler
Case 4
Couler = "00" + Couler
Case 5
Couler = "0" + Couler
EndSelect

-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
Essai plutot comme ça, moi aussi je trouve ton code trop long
Au fait, c'est quoi que tu veux couler ? 

Code : Tout sélectionner
"#" + RSet(Hex(RGB(Bleu, Vert, Rouge)), 6, "0")

Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]