biskbart
Messages postés10Date d'inscriptionjeudi 10 avril 2003StatutMembreDernière intervention 6 décembre 2006
-
16 nov. 2006 à 22:08
Jeanluco
Messages postés3Date d'inscriptionjeudi 15 janvier 2009StatutMembreDernière intervention 9 juin 2009
-
14 avril 2009 à 17:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Jeanluco
Messages postés3Date d'inscriptionjeudi 15 janvier 2009StatutMembreDernière intervention 9 juin 2009 14 avril 2009 à 17:22
Merci pour cette correction, j'avais un changement de couleur en utilisant firefox qui est corrigé en ajoutant cette ligne de code
fcassin
Messages postés1Date d'inscriptionjeudi 29 janvier 2009StatutMembreDernière intervention29 janvier 2009 29 janv. 2009 à 16:19
Bonjour, il y a un bug dans la méthode liée à la conversion du dernier code (B).
En effet la variable pos n'est pas modifiée, la fonction ne fonctionne donc correctement que lorsque le nombre de chiffre dans G est égal au nombre de chiffres dans B
La solution :
Rajouter la ligne suivante entre la ligne 12 et la ligne 13 :
//On enlève 1 a la longueur de la chaine restante pour se débarrasser de la parenthèse fermante
pos = ColorString.length - 1;
14 avril 2009 à 17:22
29 janv. 2009 à 16:19
En effet la variable pos n'est pas modifiée, la fonction ne fonctionne donc correctement que lorsque le nombre de chiffre dans G est égal au nombre de chiffres dans B
La solution :
Rajouter la ligne suivante entre la ligne 12 et la ligne 13 :
//On enlève 1 a la longueur de la chaine restante pour se débarrasser de la parenthèse fermante
pos = ColorString.length - 1;
Le code corrigé :
function RGBToHex(ColorString) {
HexDigits = "0123456789ABCDEF";
if (ColorString.charAt(0) == '#') {
return ColorString;
} else {
ColorString = ColorString.substr(4);
pos = ColorString.indexOf(',');
Result = '#' + HexDigits.substr(Math.floor(ColorString.substr(0, pos) / 16), 1) + HexDigits.substr(ColorString.substr(0, pos) % 16, 1);
ColorString = ColorString.substr(pos + 1);
pos = ColorString.indexOf(',');
Result = Result + HexDigits.substr(Math.floor(ColorString.substr(0, pos) / 16), 1) + HexDigits.substr(ColorString.substr(0, pos) % 16, 1);
ColorString = ColorString.substr(pos + 1);
pos = ColorString.length - 1;
Result = Result + HexDigits.substr(Math.floor(ColorString.substr(0, pos) / 16), 1) + HexDigits.substr(ColorString.substr(0, pos) % 16, 1);
return Result;
}
}
22 juin 2007 à 20:27
# if (ColorString.charAt(0) == '#') {
# return ColorString;
# } else
# if (ColorString.substring(0,3)=='rgb')
# {
# re = /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/;
# parsed = re.exec(ColorString);
# return (parsed[1]*0x010000+ parsed[2]*0x000100+
# parsed[3]*0x000001 + 0x1000000).toString(16).substring(1,7);
# }
16 nov. 2006 à 22:08